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:
@ -43,7 +43,7 @@ impl ASTNode {
|
||||
ASTNode::Throw { .. } => "Throw",
|
||||
ASTNode::AwaitExpression { .. } => "AwaitExpression",
|
||||
ASTNode::QMarkPropagate { .. } => "QMarkPropagate",
|
||||
ASTNode::PeekExpr { .. } => "PeekExpr",
|
||||
ASTNode::MatchExpr { .. } => "MatchExpr",
|
||||
ASTNode::Lambda { .. } => "Lambda",
|
||||
ASTNode::ArrayLiteral { .. } => "ArrayLiteral",
|
||||
ASTNode::MapLiteral { .. } => "MapLiteral",
|
||||
@ -78,7 +78,7 @@ impl ASTNode {
|
||||
ASTNode::FromCall { .. } => ASTNodeType::Expression,
|
||||
ASTNode::ThisField { .. } => ASTNodeType::Expression,
|
||||
ASTNode::MeField { .. } => ASTNodeType::Expression,
|
||||
ASTNode::PeekExpr { .. } => ASTNodeType::Expression,
|
||||
ASTNode::MatchExpr { .. } => ASTNodeType::Expression,
|
||||
ASTNode::QMarkPropagate { .. } => ASTNodeType::Expression,
|
||||
ASTNode::Lambda { .. } => ASTNodeType::Expression,
|
||||
ASTNode::ArrayLiteral { .. } => ASTNodeType::Expression,
|
||||
@ -303,7 +303,7 @@ impl ASTNode {
|
||||
ASTNode::AwaitExpression { expression, .. } => {
|
||||
format!("Await({:?})", expression)
|
||||
}
|
||||
ASTNode::PeekExpr { .. } => "PeekExpr".to_string(),
|
||||
ASTNode::MatchExpr { .. } => "MatchExpr".to_string(),
|
||||
ASTNode::QMarkPropagate { .. } => "QMarkPropagate".to_string(),
|
||||
ASTNode::Lambda { params, body, .. } => {
|
||||
format!("Lambda({} params, {} statements)", params.len(), body.len())
|
||||
@ -356,7 +356,7 @@ impl ASTNode {
|
||||
ASTNode::FunctionCall { span, .. } => *span,
|
||||
ASTNode::Call { span, .. } => *span,
|
||||
ASTNode::AwaitExpression { span, .. } => *span,
|
||||
ASTNode::PeekExpr { span, .. } => *span,
|
||||
ASTNode::MatchExpr { span, .. } => *span,
|
||||
ASTNode::QMarkPropagate { span, .. } => *span,
|
||||
ASTNode::Lambda { span, .. } => *span,
|
||||
ASTNode::ArrayLiteral { span, .. } => *span,
|
||||
|
||||
Reference in New Issue
Block a user