feat(joinir): Phase 27-shortterm S-4.1~S-4.3 - JoinIR→VM Bridge基本実装

## S-4.1: VM インターフェース調査
- VMValue 型定義確認 (Integer, Bool, String, Void, BoxRef)
- VM API 確認 (execute_module, stats_counters)
- Task tool による詳細レポート取得

## S-4.2: JoinValue ↔ VMValue 変換関数実装
**新規追加**: src/mir/join_ir_ops.rs (+121行)
- JoinValue::to_vm_value() - 4型すべて対応
- JoinValue::from_vm_value() - エラーハンドリング付き
  - Float/Future/BoxRef は非対応(エラー返却)
- 包括的テスト追加 (正常系・異常系)

## S-4.3: join_ir_vm_bridge.rs 基本構造実装
**新規ファイル**: src/mir/join_ir_vm_bridge.rs (350行)

### Public API
- run_joinir_via_vm() - JoinIR モジュールを VM で実行

### JoinIR → MIR 変換
- convert_joinir_to_mir() - JoinModule → MirModule
- convert_join_function_to_mir() - JoinFunction → MirFunction
- convert_mir_like_inst() - Compute命令変換

### 最小実装スコープ (Phase 27-shortterm)
 Compute 命令 (Const, BinOp, Compare, BoxCall)
 Ret 命令
 Call/Jump 命令 (TODO: S-4.4 で実装)

### 設計方針
- JoinIR の正規化構造 (Pinned/Carrier, Exit φ) を保持
- マッピングだけで済ませる(正規化は消えない)
- VM の機能 (GC, plugins, error handling) を活用

## コンパイル
 完全成功 (0エラー)

## 次のステップ
S-4.4: skip_ws で A/B テスト green 化

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-11-24 06:16:45 +09:00
parent de14b58489
commit 7a9b23c9d1
3 changed files with 483 additions and 0 deletions

View File

@ -40,6 +40,7 @@ pub mod query; // Phase 26-G: MIR read/write/CFGビュー (MirQuery)
pub mod join_ir; // Phase 26-H: 関数正規化IRJoinIR
pub mod join_ir_runner; // Phase 27.2: JoinIR 実行器(実験用)
pub mod join_ir_ops; // Phase 27.8: JoinIR 命令意味箱ops box
pub mod join_ir_vm_bridge; // Phase 27-shortterm S-4: JoinIR → Rust VM ブリッジ
pub mod verification;
pub mod verification_types; // extracted error types // Optimization subpasses (e.g., type_hints) // Phase 25.1f: Loop/If 共通ビューControlForm