aboutsummaryrefslogtreecommitdiff
path: root/tests/i/loops/program.cps
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.one>2026-10-16 20:53:52 +0800
committer_ov4 <ov4@ov4.one>2026-10-16 20:53:52 +0800
commit5c00b8cd03cbfc516cce92229f3f4974d7549c24 (patch)
tree9d13c180dc345b3e27d241ac56de2aef99dea739 /tests/i/loops/program.cps
parent1db81d50e8c664d0707491699485cfb23a0b5907 (diff)
test(compiler): cover fixed CIE behavior and runtime boundaries
Record independently traced outputs with pending human review. Keep standard syntax and naming conflicts as real failures. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat (limited to 'tests/i/loops/program.cps')
-rw-r--r--tests/i/loops/program.cps28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/i/loops/program.cps b/tests/i/loops/program.cps
new file mode 100644
index 0000000..a858e6c
--- /dev/null
+++ b/tests/i/loops/program.cps
@@ -0,0 +1,28 @@
+DECLARE I : INTEGER
+DECLARE Total : INTEGER
+Total <- 0
+FOR I <- 3 TO 1
+ Total <- Total + 1000
+NEXT I
+FOR I <- 2 TO 2
+ Total <- Total + I
+NEXT I
+FOR I <- 3 TO -1 STEP -2
+ Total <- Total + I
+NEXT I
+WHILE FALSE DO
+ Total <- Total + 1000
+ENDWHILE
+I <- 0
+WHILE I < 3 DO
+ Total <- Total + I
+ I <- I + 1
+ENDWHILE
+REPEAT
+ Total <- Total + 10
+UNTIL TRUE
+I <- 0
+REPEAT
+ I <- I + 1
+UNTIL I = 3
+OUTPUT Total, ":", I