目的: - 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>
46 lines
1.8 KiB
Rust
46 lines
1.8 KiB
Rust
#[cfg(feature = "aot-plan-import")]
|
|
pub mod aot_plan_import;
|
|
pub mod box_tests;
|
|
pub mod host_reverse_slot;
|
|
pub mod identical_exec;
|
|
pub mod identical_exec_collections;
|
|
pub mod identical_exec_instance;
|
|
pub mod identical_exec_string;
|
|
pub mod mir_breakfinder_ssa;
|
|
pub mod mir_funcscanner_skip_ws;
|
|
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.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;
|
|
pub mod mir_loopform_complex;
|
|
pub mod mir_static_box_naming;
|
|
pub mod mir_stage1_cli_emit_program_min;
|
|
pub mod mir_stage1_staticcompiler_receiver; // Phase 25.1: StaticCompiler receiver型推論バグ回帰防止
|
|
pub mod mir_stage1_using_resolver_verify;
|
|
pub mod json_lint_stringutils_min_vm; // Phase 21.7++: using StringUtils alias resolution fix
|
|
pub mod namingbox_static_method_id; // Phase 21.7++ Phase 1: StaticMethodId structure tests
|
|
pub mod stage1_cli_entry_ssa_smoke;
|
|
pub mod mir_stageb_like_args_length;
|
|
pub mod mir_stageb_loop_break_continue;
|
|
pub mod mir_stageb_string_utils_skip_ws; // Phase 25.1: skip_ws Void < 0 TypeError 再現
|
|
pub mod mir_value_kind; // Phase 26-A-5: ValueId型安全化統合テスト
|
|
pub mod nyash_abi_basic;
|
|
pub mod parser_static_box_members;
|
|
pub mod plugin_hygiene;
|
|
pub mod policy_mutdeny;
|
|
pub mod sugar_basic_test;
|
|
pub mod sugar_coalesce_test;
|
|
pub mod sugar_comp_assign_test;
|
|
pub mod sugar_pipeline_test;
|
|
pub mod sugar_range_test;
|
|
pub mod sugar_safe_access_test;
|
|
pub mod typebox_tlv_diff;
|
|
pub mod vtable_map_ext;
|
|
pub mod vtable_strict;
|
|
pub mod vtable_string;
|