Step 2完了: peek→match完全統一 + 重大PHI命令バグ発見

## 🎉 Step 2: peek→match完全統一アーキテクチャクリーンアップ完了
-  15ファイルで PeekExpr → MatchExpr 一括置換完了
-  lowering/peek.rs → match_expr.rs 完全移行
-  AI理解性・コードベース一貫性・保守性大幅向上

## 🔍 Step 3: 複数行パース問題調査完了
-  Task先生による根本原因特定完了
- 原因: オブジェクトリテラルパーサーの改行スキップ不足
- 修正: src/parser/expr/primary.rs の skip_newlines() 追加

## 🚨 重大発見: PHI命令処理バグ
- 問題: gemini_test_case.nyash で期待値2→実際0
- 原因: フェーズM+M.2のPHI統一作業でループ後変数マージに回帰バグ
- 詳細: PHI命令は正常だが、print時に間違ったPHI参照
- 影響: Phase 15セルフホスティング基盤の重大バグ

## 📝 CLAUDE.md更新
- 全進捗状況の詳細記録
- 次のアクション: ChatGPT相談でMIRビルダー修正戦略立案

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Selfhosting Dev
2025-09-23 09:00:07 +09:00
parent f469b80f0a
commit fc4c866151
27 changed files with 122 additions and 84 deletions

View File

@ -276,18 +276,32 @@ NYASH_DISABLE_PLUGINS=1 ./target/release/nyash program.nyash
NYASH_LLVM_USE_HARNESS=1 ./target/release/nyash program.nyash
```
## 📝 Update (2025-09-23) ✅ Step 1完了peek→match統一 Step 2開始
## 📝 Update (2025-09-23) 🚨 重大PHI命令バグ発見Step 4改行処理も課題
-**フェーズM+M.2完全達成!** PHI統一革命でcollect_prints問題根本解決
-**Step 1完全達成** match式オブジェクトリテラル判定修正完了
- **修正完了**: `src/parser/expr/match_expr.rs``is_object_literal()` メソッド追加
- **副作用修正**: `match_token()``current_token()` で副作用除去
- **動作確認**: 単行match式 + オブジェクトリテラル ✅ 完全動作
- **発見**: 複数行パース未対応(後回し決定)
- 🚀 **Step 2開始準備** peek→match完全統一でアーキテクチャクリーンアップ
- **対象ファイル**: `json_v0_bridge/ast.rs`, `lowering/peek.rs``match_expr.rs`
- **統一効果**: AI理解向上・ドキュメント整合性・保守性向上・ソースコード美化
- **作業順序**: claude.md更新→todo調整→commit→peek構造体→match構造体完全移行
- 🎯 **アーキテクチャ美化**: ややこしいpeek/match混在状況の完全解消へ
- **Step 2完全達成** peek→match完全統一でアーキテクチャクリーンアップ完了
- **統一完了**: 15ファイルで `PeekExpr``MatchExpr` 一括置換完了
- **ファイル移行**: `lowering/peek.rs``match_expr.rs` 完全移行
- **コンパイル成功**: エラーゼロで正常ビルド完了
- **動作確認**: match式テスト正常動作 ✅
- **効果**: AI理解性向上・コードベース一貫性・保守性大幅向上
-**Step 3完全達成** Task先生による複数行パース問題根本原因特定完了
- **原因特定**: オブジェクトリテラルパーサーの改行スキップ不足(`src/parser/expr/primary.rs`
- **修正箇所**: L49、L77-79に `skip_newlines()` 追加で解決可能
- **工数**: 30分以内の簡単修正
- 🤔 **Step 4課題発見** 改行処理アーキテクチャの美しさ問題
- **問題**: `skip_newlines()` を各所に散りばめる方法は美しくない
- **課題**: 保守性・一貫性・見落としリスク・設計の美しさ
- **方針**: Gemini 3相談でアーキテクチャ根本改善検討
- 🚨 **重大発見!** PHI命令処理バグgemini_test_case: 期待値2→実際0
- **問題**: フェーズM+M.2のPHI統一作業でループ後変数マージに回帰バグ
- **詳細**: PHI命令は正しく動作v8→2だが、print時に間違ったPHIv4→0参照
- **根本原因**: ループ脱出後の変数PHI接続が初期値を参照している
- **影響**: Phase 15セルフホスティング基盤の重大バグ
- **次のアクション**: ChatGPT相談でMIRビルダー修正戦略立案
## 📝 Update (2025-09-22) 🎯 Phase 15 JITアーカイブ完了デバッグ大進展
-**JIT/Craneliftアーカイブ完了** Phase 15集中開発のため全JIT機能を安全にアーカイブ