docs(joinir): L-2.2 Step-4 - Update JoinIR VM bridge documentation
Phase 32 README: - Expand VM Bridge table with "JoinIR 利用範囲" column - Add L-2.2 progress summary table (Step-1~5 status) - Add developer notes for Stage-B JoinIR observation environment-variables.md: - Add detailed descriptions for NYASH_JOINIR_* variables - Clarify scope and limitations (Stage-B = lowering only) - Add Stage-B JoinIR observation example CURRENT_TASK: - Update L-2.2 status to Step-1~4 complete 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -149,19 +149,44 @@ JoinIR は制御構造を関数呼び出し + 継続に正規化する IR 層(
|
||||
| `NYASH_JOINIR_HEADER_EXP=1` | OFF | Any | Header PHI bypass 有効化(dev-only) |
|
||||
| `NYASH_JOINIR_EXIT_EXP=1` | OFF | Any | Exit PHI 実験(dev-only) |
|
||||
| `NYASH_JOINIR_LOWER_FROM_MIR=1` | OFF | Any | MIRベース lowering 有効化(dev-only) |
|
||||
| `NYASH_JOINIR_LOWER_GENERIC=1` | OFF | Any | 構造ベースのみで Case-A 判定(関数名フィルタを外す, Phase 32 L-1.2) |
|
||||
| `NYASH_JOINIR_VM_BRIDGE=1` | OFF | Any | VM bridge テスト(dev-only) |
|
||||
| `NYASH_JOINIR_LOWER_GENERIC=1` | OFF | Any | 構造ベースのみで Case-A 判定(関数名フィルタを外す) |
|
||||
| `NYASH_JOINIR_VM_BRIDGE=1` | OFF | Any | VM bridge 経路(Route B)を有効化 |
|
||||
|
||||
### JoinIR 各変数の詳細
|
||||
|
||||
**`NYASH_JOINIR_EXPERIMENT`**
|
||||
- 対象: skip / trim / Stage-1 UsingResolver / Stage-B BodyExtractor / Stage-B FuncScanner
|
||||
- 役割: JoinIR runner / JoinIR VM bridge / 各種テストを有効化する dev トグル
|
||||
|
||||
**`NYASH_JOINIR_VM_BRIDGE`**
|
||||
- 対象: 上記と同じ
|
||||
- 役割: VM モードで Route B(MIR→JoinIR→MIR→VM)を試す経路を有効化
|
||||
- 重要: **実際に「JoinIR→VM 実行」まで行くのは Phase 32 時点では skip / trim に限定**。Stage-1 / Stage-B は lowering + Bridge の健全性確認まで(実行は VM Route A)
|
||||
|
||||
**`NYASH_JOINIR_LOWER_GENERIC`** (Phase 32 L-1.2)
|
||||
- 既定 OFF: minimal 4 本(skip_ws / trim / append_defs / Stage-1 minimal)のみ LoopToJoinLowerer 対象
|
||||
- ON: LoopRegion / LoopControlShape / LoopScopeShape の構造条件を満たすループ全般を Case-A 候補として扱う
|
||||
- 注意: Phase 32 では Stage-B / Stage-1 本線については「構造テスト・JoinIR 構造観測」用途で使うトグルであり、「意味論の本番切り替え」ではない
|
||||
|
||||
### JoinIR 使用例
|
||||
|
||||
```bash
|
||||
# JoinIR 実験モード有効化
|
||||
# JoinIR 実験モード有効化(基本)
|
||||
NYASH_JOINIR_EXPERIMENT=1 ./target/release/hakorune program.hako
|
||||
|
||||
# Header PHI bypass 併用
|
||||
NYASH_JOINIR_EXPERIMENT=1 NYASH_JOINIR_HEADER_EXP=1 ./target/release/hakorune program.hako
|
||||
|
||||
# Stage-B JoinIR lowering を観測したい場合(Phase 32 開発用)
|
||||
# → JoinIR lowering + JoinIR→MIR Bridge が走り、ログで JoinIR 構造が確認できる
|
||||
# → 実際の実行は VM Route A にフォールバック
|
||||
NYASH_JOINIR_EXPERIMENT=1 \
|
||||
NYASH_JOINIR_VM_BRIDGE=1 \
|
||||
NYASH_JOINIR_LOWER_GENERIC=1 \
|
||||
./target/release/hakorune --dump-mir apps/tests/stageb_case.hako
|
||||
```
|
||||
|
||||
詳細: [ENV_INVENTORY.md](../private/roadmap2/phases/phase-29-longterm-joinir-full/ENV_INVENTORY.md)
|
||||
詳細: [ENV_INVENTORY.md](../private/roadmap2/phases/phase-29-longterm-joinir-full/ENV_INVENTORY.md) / [Phase 32 README](../private/roadmap2/phases/phase-32-joinir-complete-migration/README.md)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user