2025-11-28 01:02:49 +09:00
|
|
|
mod helpers;
|
|
|
|
|
|
2025-09-17 07:43:07 +09:00
|
|
|
#[cfg(feature = "aot-plan-import")]
|
|
|
|
|
pub mod aot_plan_import;
|
2025-08-23 22:13:16 +09:00
|
|
|
pub mod box_tests;
|
2025-09-17 07:43:07 +09:00
|
|
|
pub mod host_reverse_slot;
|
2025-09-03 09:12:39 +09:00
|
|
|
pub mod identical_exec;
|
|
|
|
|
pub mod identical_exec_collections;
|
|
|
|
|
pub mod identical_exec_instance;
|
2025-09-17 07:43:07 +09:00
|
|
|
pub mod identical_exec_string;
|
feat(joinir): Phase 30.x jsonir v0 - JoinIR JSON serialization
Implement JSON serialization for JoinIR module.
Implementation:
- src/mir/join_ir/json.rs: JSON serializer (~250 lines, no external deps)
- src/tests/joinir_json_min.rs: Integration tests (8 unit + 2 integration)
- 10 tests total, all passing
Features:
- JoinModule → JSON serialization
- All instruction types: Call, Jump, Ret, Compute
- All MirLikeInst types: Const, BinOp, Compare, BoxCall
- Full ConstValue support: Integer, Bool, String, Null
- Full operator coverage: Add/Sub/Mul/Div/Or/And, Lt/Le/Gt/Ge/Eq/Ne
- JSON string escaping for special characters
Usage:
use crate::mir::join_ir::json::join_module_to_json_string;
let json = join_module_to_json_string(&module);
Non-goals (this phase):
- CLI flag (--emit-joinir-json)
- JSON → JoinIR reverse conversion
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 09:53:26 +09:00
|
|
|
pub mod joinir_json_min; // Phase 30.x: JoinIR JSON シリアライズテスト
|
2025-11-24 14:17:02 +09:00
|
|
|
pub mod joinir_runner_min; // Phase 27.2: JoinIR 実行器 A/B 比較テスト
|
|
|
|
|
pub mod joinir_runner_standalone; // Phase 27-shortterm S-3.2: JoinIR Runner 単体テスト
|
|
|
|
|
pub mod joinir_vm_bridge_skip_ws; // Phase 27-shortterm S-4.4: JoinIR → Rust VM Bridge A/B Test
|
2025-11-25 12:22:08 +09:00
|
|
|
pub mod joinir_vm_bridge_trim; // Phase 30.x: JoinIR → Rust VM Bridge A/B Test for trim
|
2025-11-25 12:34:20 +09:00
|
|
|
pub mod joinir_vm_bridge_stage1_usingresolver; // Phase 30.x: JoinIR → Rust VM Bridge A/B Test for Stage-1
|
2025-11-24 14:17:02 +09:00
|
|
|
pub mod json_lint_stringutils_min_vm; // Phase 21.7++: using StringUtils alias resolution fix
|
2025-11-19 02:44:40 +09:00
|
|
|
pub mod mir_breakfinder_ssa;
|
2025-11-22 11:03:21 +09:00
|
|
|
pub mod mir_funcscanner_parse_params_trim_min;
|
2025-11-24 14:17:02 +09:00
|
|
|
pub mod mir_funcscanner_skip_ws;
|
2025-11-21 06:25:17 +09:00
|
|
|
pub mod mir_funcscanner_ssa;
|
2025-11-24 14:17:02 +09:00
|
|
|
pub mod mir_funcscanner_trim_min;
|
|
|
|
|
pub mod mir_joinir_funcscanner_append_defs; // Phase 27.14: FuncScannerBox._append_defs JoinIR変換
|
|
|
|
|
pub mod mir_joinir_funcscanner_trim; // Phase 27.1: FuncScannerBox.trim JoinIR変換
|
2025-11-27 03:28:32 +09:00
|
|
|
pub mod mir_joinir_if_select; // Phase 33-3: If/Else → Select lowering tests
|
2025-11-23 04:10:12 +09:00
|
|
|
pub mod mir_joinir_min; // Phase 26-H: JoinIR型定義妥当性確認
|
2025-11-23 06:29:22 +09:00
|
|
|
pub mod mir_joinir_skip_ws; // Phase 27.0: minimal_ssa_skip_ws JoinIR変換
|
2025-11-24 02:34:36 +09:00
|
|
|
pub mod mir_joinir_stage1_using_resolver_min; // Phase 27.12: Stage1UsingResolverBox.resolve_for_source JoinIR変換
|
2025-11-24 14:17:02 +09:00
|
|
|
pub mod mir_joinir_stageb_body; // Phase 28: StageBBodyExtractorBox.build_body_src JoinIR変換
|
|
|
|
|
pub mod mir_joinir_stageb_funcscanner; // Phase 28: StageBFuncScannerBox.scan_all_boxes JoinIR変換
|
2025-11-21 06:25:17 +09:00
|
|
|
pub mod mir_locals_ssa;
|
2025-11-24 14:17:02 +09:00
|
|
|
pub mod mir_loopform_complex;
|
2025-11-21 06:25:17 +09:00
|
|
|
pub mod mir_loopform_conditional_reassign;
|
|
|
|
|
pub mod mir_loopform_exit_phi;
|
2025-11-21 11:16:38 +09:00
|
|
|
pub mod mir_stage1_cli_emit_program_min;
|
2025-11-21 14:00:09 +09:00
|
|
|
pub mod mir_stage1_staticcompiler_receiver; // Phase 25.1: StaticCompiler receiver型推論バグ回帰防止
|
2025-11-21 06:25:17 +09:00
|
|
|
pub mod mir_stage1_using_resolver_verify;
|
|
|
|
|
pub mod mir_stageb_like_args_length;
|
|
|
|
|
pub mod mir_stageb_loop_break_continue;
|
2025-11-21 12:35:09 +09:00
|
|
|
pub mod mir_stageb_string_utils_skip_ws; // Phase 25.1: skip_ws Void < 0 TypeError 再現
|
2025-11-24 14:17:02 +09:00
|
|
|
pub mod mir_static_box_naming;
|
2025-11-20 09:56:22 +09:00
|
|
|
pub mod mir_value_kind; // Phase 26-A-5: ValueId型安全化統合テスト
|
2025-11-24 14:17:02 +09:00
|
|
|
pub mod namingbox_static_method_id; // Phase 21.7++ Phase 1: StaticMethodId structure tests
|
2025-09-17 07:43:07 +09:00
|
|
|
pub mod nyash_abi_basic;
|
2025-11-19 23:12:01 +09:00
|
|
|
pub mod parser_static_box_members;
|
2025-09-17 07:43:07 +09:00
|
|
|
pub mod plugin_hygiene;
|
|
|
|
|
pub mod policy_mutdeny;
|
2025-11-24 14:17:02 +09:00
|
|
|
pub mod stage1_cli_entry_ssa_smoke;
|
2025-09-17 07:43:07 +09:00
|
|
|
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;
|
🎉 Phase 11.8/12.7: MIR Core-13 完全実装 + 糖衣構文ドキュメント更新
主要な変更:
- MIR Core-13命令セット確定(Load/Store削除の革命的設計)
- Const, BinOp, Compare(値・計算)
- Jump, Branch, Return, Phi(制御)
- Call, BoxCall, ExternCall(呼び出し)
- TypeOp, Safepoint, Barrier(メタ)
- Phase 12.7糖衣構文ドキュメント整理(超圧縮重視、可逆変換保証)
- MIRビルダーのモジュール分割完了
- vtableテストスイート拡充
- AI協調開発ツール追加(並列リファクタリング支援)
詳細:
- src/mir/instruction_introspection.rs: core13_instruction_names()追加
- MIRビルダー分割: decls.rs, exprs_*.rs, fields.rs
- plugin_loader_v2: errors.rs, host_bridge.rs分離
- 論文用データ: mir13-final.md作成
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 11:34:15 +09:00
|
|
|
pub mod vtable_map_ext;
|
2025-09-17 07:43:07 +09:00
|
|
|
pub mod vtable_strict;
|
|
|
|
|
pub mod vtable_string;
|
2025-11-27 15:31:12 +09:00
|
|
|
|
|
|
|
|
// Phase 34-2: JoinIR Frontend (AST→JoinIR)
|
|
|
|
|
pub mod joinir_frontend_if_select;
|