|
|
b531a64d67
|
feat(control_tree): Phase 131 normalized loop(true) break-once builder (dev-only)
Implement Normalized shadow builder for loop(true) break-once pattern:
**New Module** (407 lines):
- src/mir/control_tree/normalized_shadow/loop_true_break_once.rs
- LoopTrueBreakOnceBuilderBox: loop(true) { <assign>* ; break } lowering
- PHI-free: env parameters + continuation-passing style
- Generated structure: main → loop_step → loop_body → k_exit
- Scope: Bool(true) literal condition only, break at end only
**Integration**:
- src/mir/control_tree/normalized_shadow/builder.rs
- Added lower_with_loop_support() for loop patterns
- try_lower_if_only() now falls through to loop support on capability reject
- src/mir/control_tree/normalized_shadow/mod.rs
- Module declaration added
**Contract**:
- Accepted: loop(true) { <assign of int literal/var/add>* ; break }
- Rejected (Ok(None)): continue, return in body, nested control flow
- Out of scope: general loop conditions, complex post-loop statements
**Limitations**:
- Structure-only (dev-only observation mode)
- Execution path not yet wired (follow-up phase required)
- Shadow JoinModule generation working, structural verification passing
- Unit tests: 1155/1155 PASS
Related: Phase 131 P0
|
2025-12-18 09:36:38 +09:00 |
|