Files
hakorune/apps/tests/phase182_p2_break_integer.hako
nyash-codex d5b63e0944 test(joinir): Phase 182-5 Add P1/P2 pattern verification tests
Phase 182-5 Test Results:
 Pattern1 (Simple) - phase182_p1_match_literal.hako PASSES
 Pattern2 (Break) - phase182_p2_break_integer.hako PASSES

Verification:
- P1 routes correctly to Pattern1_Minimal
- P2 routes correctly to Pattern2_WithBreak
- Both execute successfully with integer operations
- _match_literal logic verified (string matching with early return)

Blockers for actual JsonParser loops (_parse_number, _atoi):
1. LoopBodyLocal variables (ch, digit_pos, pos) trigger promotion requirement
   - Current system only handles Trim-specific carrier promotion
   - P2 should allow purely local temp variables (not promoted to carriers)
2. String operation filter (Phase 178)
   - Conservatively rejects string concat: num_str = num_str + ch
   - Need gradual enablement for JsonParser use cases

Next steps (Phase 182-6):
- Document blockers and workaround strategies
- Recommend LoopBodyLocal handling improvements for Phase 183+
2025-12-08 21:39:49 +09:00

30 lines
669 B
Plaintext

// Phase 182-5: Basic Pattern2 Break test with integers only
// No string operations, no LoopBodyLocal - pure P2 verification
static box Main {
main(args) {
// Simple integer accumulation with break (sum of 1+2 = 3)
local result = 0
local i = 1
local limit = 5
loop(i < limit) {
if i == 3 { break } // Stop before adding 3
result = result + i
i = i + 1
}
// Expected: result = 1+2 = 3, i = 3
// Simple verification without toString()
if result == 3 {
if i == 3 {
print("PASS: P2 Break works correctly")
return 0
}
}
print("FAIL: result or i incorrect")
return 1
}
}