31 lines
891 B
Plaintext
31 lines
891 B
Plaintext
|
|
// Phase 164: Test Pattern3 (If-Else PHI) without break
|
||
|
|
// Pattern3 is: if-else PHI with NO break, NO continue
|
||
|
|
// Example: Accumulate result with conditional assignment
|
||
|
|
// Simulates: loop(i < n) { if condition { result = f(result) } else { result = g(result) } i++ }
|
||
|
|
|
||
|
|
static box Main {
|
||
|
|
main(args) {
|
||
|
|
// Accumulate sum with conditional increment
|
||
|
|
// Pattern: if-else PHI where variable gets different values in both branches
|
||
|
|
local i = 0
|
||
|
|
local sum = 0
|
||
|
|
local n = 5
|
||
|
|
|
||
|
|
loop(i < n) {
|
||
|
|
// If-else PHI: sum gets different values in each branch
|
||
|
|
if i == 2 {
|
||
|
|
sum = sum + 10 // Branch 1: add 10
|
||
|
|
} else {
|
||
|
|
sum = sum + 1 // Branch 2: add 1
|
||
|
|
}
|
||
|
|
i = i + 1
|
||
|
|
}
|
||
|
|
|
||
|
|
// Output result
|
||
|
|
print("Pattern3 (If-Else PHI, no break) test")
|
||
|
|
print("Final sum: " + ("" + sum))
|
||
|
|
print("Expected: 1 + 1 + 10 + 1 + 1 = 14")
|
||
|
|
return 0
|
||
|
|
}
|
||
|
|
}
|