feat(edgecfg): Phase 265 P1 - compose 配線ロジック実装(test-only PoC)
## 目的 Frag/ExitKind が BasicBlockId 層で配線できることを証明 ## 実装完了内容 - EdgeStub に target: Option<BasicBlockId> 追加 - compose::loop_() 配線ロジック実装(Continue → header, Break → after) - verify_frag_invariants() 配線契約検証追加 - test-only PoC で実証完了(5個のテスト) ## 配線契約 - Continue(loop_id) の EdgeStub.target = Some(header) - Break(loop_id) の EdgeStub.target = Some(after) - Normal/Return/Unwind の EdgeStub.target = None(上位へ伝搬) ## テスト - compose::tests: 5 PASS(既存2個更新 + 新規3個追加) - verify::tests: 1 PASS(基本smoke test) - cargo test -p nyash-rust --lib: SUCCESS ## 重要な制約 - MIR 命令生成はまだしない(Frag 層の配線能力証明のみ) - NormalizedShadow/JoinIR層への適用は Phase 266 に繰り越し - Pattern6/7/8 未改変(配線能力の証明に集中) ## 次のステップ - Phase 265 P2: seq/if_ 実装(順次合成・条件分岐合成) - Phase 266: JoinIR-VM Bridge 改修後、NormalizedShadow への適用 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -55,6 +55,31 @@
|
||||
|
||||
**詳細**: `docs/development/current/main/phases/phase-265/README.md`
|
||||
|
||||
## 2025-12-21:Phase 265 P1(compose 配線ロジック実装)✅
|
||||
|
||||
**目的**: Frag/ExitKind が BasicBlockId 層で配線できることを証明
|
||||
|
||||
**完了内容**:
|
||||
- EdgeStub に `target: Option<BasicBlockId>` 追加
|
||||
- compose::loop_() 配線ロジック実装(Continue → header, Break → after)
|
||||
- verify_frag_invariants() 配線契約検証追加
|
||||
- test-only PoC で実証完了(5個のテスト: 既存2個更新 + 新規3個追加)
|
||||
|
||||
**配線契約**:
|
||||
- Continue(loop_id) の EdgeStub.target = Some(header)
|
||||
- Break(loop_id) の EdgeStub.target = Some(after)
|
||||
- Normal/Return/Unwind の EdgeStub.target = None(上位へ伝搬)
|
||||
|
||||
**重要**:
|
||||
- MIR 命令生成はまだしない(Frag 層の配線能力証明に集中)
|
||||
- NormalizedShadow/JoinIR層への適用は Phase 266 に繰り越し(層境界を守る)
|
||||
|
||||
**次のステップ**:
|
||||
- Phase 265 P2: seq/if_ 実装(順次合成・条件分岐合成)
|
||||
- Phase 266: JoinIR-VM Bridge 改修後、NormalizedShadow への適用
|
||||
|
||||
**詳細**: `docs/development/current/main/phases/phase-265/README.md`
|
||||
|
||||
## Next (planned)
|
||||
|
||||
- Phase 265(planned): Pattern8 を Frag 合成に移行し、ExitKind+Frag の実装適用を開始(`compose::loop_` 実装)
|
||||
|
||||
Reference in New Issue
Block a user