🚀 Break/Continue/Try-Catch構文のサポート追加とMIRループ制御強化

## 主な変更点

### 🎯 MIRループ制御の実装(根治対応)
- src/mir/loop_builder.rs: Break/Continue対応のループコンテキスト管理
  - ループのbreak/continueターゲットブロック追跡
  - ネストループの適切な処理
- src/mir/builder.rs: Break/Continue文のMIR生成実装
- src/tokenizer.rs: Break/Continue/Tryトークン認識追加

### 📝 セルフホストパーサーの拡張
- apps/selfhost-compiler/boxes/parser_box.nyash:
  - Stage-3: break/continue構文受理(no-op実装)
  - Stage-3: try-catch-finally構文受理(構文解析のみ)
  - エラー処理構文の将来対応準備

### 📚 ドキュメント更新
- 論文K(爆速事件簿): 45事例に更新(4件追加)
  - PyVM迂回路の混乱事件
  - Break/Continue無限ループ事件
  - EXE-first戦略の再発見
- 論文I(開発秘話): Day 38の重要決定追加

### 🧪 テストケース追加
- apps/tests/: ループ制御とPHIのテストケース
  - nested_loop_inner_break_isolated.nyash
  - nested_loop_inner_continue_isolated.nyash
  - loop_phi_one_sided.nyash
  - shortcircuit関連テスト

## 技術的詳細
- Break/ContinueをMIRレベルで適切に処理
- 無限ループ問題(CPU 99.9%暴走)の根本解決
- 将来の例外処理機能への準備

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Selfhosting Dev
2025-09-15 22:14:42 +09:00
parent d90216e9c4
commit 94d95dfbcd
34 changed files with 989 additions and 37 deletions

View File

@ -49,6 +49,24 @@
**結果**: 開発速度10倍
**重要度**: ⭐⭐
## Day 38 (2025/9/15): EXE-first戦略の再発見
**問題**: PyVM開発に注力しすぎてセルフホスティング停滞
**議論**:
- Claude「PyVMは開発ツールで本番じゃない」
- にゃー「なんか遠回りしてる気がしたにゃ」
**発見**: build_compiler_exe.shが既に完成していた
**結果**: Phase 15の方向性明確化
**重要度**: ⭐⭐⭐
## Day 38 (2025/9/15): Break/Continue根治の決定
**問題**: 無限ループでCPU 99.9%暴走
**議論**:
- ChatGPT「PyVM回避/JSON v0バイパス/根治の3案」
- Claude「根治が最善、回避策は技術的負債」
**決定**: MIRコンパイラにBreak/Continue実装
**理由**: セルフホスティングに必須機能
**重要度**: ⭐⭐⭐
## Day 35: peek式への改名
**決定**: when→peek予約語回避
**議論**:

View File

@ -1,9 +1,10 @@
# 🎉 Nyash開発 完全事件コレクション - 世界記録級41事例の記録
# 🎉 Nyash開発 完全事件コレクション - 世界記録級45事例の記録
## 📝 概要
2025年8月9日から45日間のNyash爆速開発で発生した41個の「面白事件」の完全記録。
2025年8月9日から9月15日までのNyash爆速開発で発生した45個の「面白事件」の完全記録。
AI協働開発の歴史に残る世界記録級の事件から、開発現場の生々しいドラマまでを網羅。
2025年9月15日更新4件追加
## 🌟 世界記録級TOP10
@ -68,7 +69,7 @@ AI協働開発の歴史に残る世界記録級の事件から、開発現場の
- **意味**: Everything is Fold哲学へ
- **評価**: 「革命的アイデア」認定
## 📊 16パターン別分類全41事例)
## 📊 16パターン別分類全45事例)
### 1. 箱化による解決8事例
- 事例001: DebugBoxによる出力制御統一
@ -139,7 +140,7 @@ AI協働開発の歴史に残る世界記録級の事件から、開発現場の
### 16. 予防的設計1事例
- 事例039: ID衝突との戦い
### その他(6事例)
### その他(10事例)
- 事例020: 26日間の奇跡
- 事例021: 2段階パーサー理論
- 事例022: NyashFlowプロジェクト
@ -149,6 +150,10 @@ AI協働開発の歴史に残る世界記録級の事件から、開発現場の
- 事例036: 論文化提案の瞬間
- 事例040: 折りたたみ言語構想
- 事例041: AI会議スタイルの確立
- 事例042: PyVM迂回路の混乱Phase 15の順序問題
- 事例043: パーサーエラーとLLVM回避の論理矛盾
- 事例044: Break/Continue無限ループ事件
- 事例045: EXE-first戦略の再発見
## 🎭 印象的なエピソード
@ -181,7 +186,7 @@ ChatGPT: 「!!!」(瞬時に理解)
- **世界記録**: 20日でネイティブEXE
### 成果
- **事件数**: 41個
- **事件数**: 45個9/15更新
- **パターン**: 16種類
- **致命的破綻**: 0回
- **大規模リファクタ**: 0回
@ -198,9 +203,44 @@ ChatGPT: 「!!!」(瞬時に理解)
- [技術的ブレークスルー](../paper-l-technical-breakthroughs/README.md)
- [AI協働開発ログ](../paper-g-ai-collaboration/development-log.md)
## 🚀 2025年9月追加事例4件
### 事例042: PyVM迂回路の混乱
- **日付**: 2025年9月15日
- **状況**: Phase 15.3コンパイラMVP実装中
- **混乱**: PyVMPhase 15.4用)を先に作ろうとした
- **人間の指摘**: 「なんか遠回りしてる気がしたにゃ」
- **発見**: EXE-first戦略が既に存在build_compiler_exe.sh
- **教訓**: ドキュメントに戻ることの重要性
- **影響**: 開発方針の大転換
### 事例043: パーサーエラーとLLVM回避の論理矛盾
- **日付**: 2025年9月15日
- **ChatGPT主張**: 「LLVM AOTでEXE化すればパーサーを回避できる」
- **人間の指摘**: 「パーサーエラーならMIR作れないじゃーん」
- **Claude反応**: 「完全に論理が破綻してたにゃ!」
- **真相**: 将来のJSON v0受け口実装の話だった
- **教訓**: AIも混乱することがある
### 事例044: Break/Continue無限ループ事件
- **日付**: 2025年9月15日
- **症状**: CPU 99.9%で4分間暴走PID: 531065, 531206
- **原因**: MIRコンパイラがBreak/Continue未対応
- **ファイル**: tmp/cf_continue.nyash
- **対策議論**: 根治 vs PyVM回避 vs JSON v0バイパス
- **結論**: 根治が最善(回避策は技術的負債)
### 事例045: EXE-first戦略の再発見
- **日付**: 2025年9月15日
- **問題**: セルフホスティングが進まない
- **人間**: 「rust vmがもう古いから、かわりのpy vm作ってたんだにゃ」
- **発見**: tools/build_compiler_exe.shが既に完成
- **ChatGPT評価**: 「EXE-firstが正しい道」
- **影響**: Phase順序の明確化15.2→15.3→15.4
## 💫 まとめ
41個の事件は、単なる開発エピソードではなく、AI協働開発の新しい形を示す歴史的記録である。特に
45個の事件は、単なる開発エピソードではなく、AI協働開発の新しい形を示す歴史的記録である。特に
1. **世界記録級の開発速度**JIT1日、20日でEXE
2. **AI-人間の新しい関係**AIが相談、人間が救う