feat(joinir): Phase 27.1 - FuncScanner.trim JoinIR変換実装完了
目的: - minimal_ssa_skip_ws に続き、FuncScannerBox.trim/1 ループを JoinIR 変換対象に追加 - Phase 27.0 の実用化拡張(より簡単なループで動作確認) 実装内容: 1. lower_funcscanner_trim_to_joinir() 関数追加 (src/mir/join_ir.rs:515-770) - trim_main + loop_step の2関数生成 - 固定 ValueId 割り当て (5000-5018, 6000-6018) - OR 条件の chain 処理 (ch == " " || "\t" || "\n" || "\r") 2. BinOpKind 拡張 (src/mir/join_ir.rs:147-154) - Or/And variant 追加(論理演算対応) - Phase 27.1 実験的拡張として最小限の変更 3. テストインフラ追加 (src/tests/mir_joinir_funcscanner_trim.rs) - auto_lowering テスト: #[ignore] + NYASH_JOINIR_EXPERIMENT=1 トグル - type_sanity テスト: 常時実行の軽量テスト 4. ドキュメント完備 (docs/private/roadmap2/phases/phase-27.1-joinir/) - IMPLEMENTATION_LOG.md: 技術メモ + BinOpKind 拡張決定の記録 - TASKS.md: 実装ステップ進捗管理 検証結果: - ✅ ビルド成功 (リリースビルド 55.75s) - ✅ type_sanity テスト PASS - ✅ 既存 JoinIR テスト全て PASS (mir_joinir_min, mir_joinir_skip_ws) - ✅ トグル OFF で本線影響なし確認済み トグル制御: - NYASH_JOINIR_EXPERIMENT=1 で JoinIR 変換有効化 - デフォルトは従来の MIR/LoopForm 維持 次のステップ: - C-2: トグル ON での動作確認 - D-1: ベースライン緑度確認 - E-1: README 更新 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -12,7 +12,8 @@ pub mod mir_funcscanner_parse_params_trim_min;
|
||||
pub mod mir_funcscanner_trim_min;
|
||||
pub mod mir_funcscanner_ssa;
|
||||
pub mod mir_joinir_min; // Phase 26-H: JoinIR型定義妥当性確認
|
||||
pub mod mir_joinir_skip_ws; // Phase 27.1: minimal_ssa_skip_ws JoinIR変換
|
||||
pub mod mir_joinir_skip_ws; // Phase 27.0: minimal_ssa_skip_ws JoinIR変換
|
||||
pub mod mir_joinir_funcscanner_trim; // Phase 27.1: FuncScannerBox.trim JoinIR変換
|
||||
pub mod mir_locals_ssa;
|
||||
pub mod mir_loopform_conditional_reassign;
|
||||
pub mod mir_loopform_exit_phi;
|
||||
|
||||
Reference in New Issue
Block a user