aboutsummaryrefslogtreecommitdiff
path: root/tests/i/while-do
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-17 06:10:05 +0000
committer_ov4 <ov4@ov4.org>2026-10-17 06:10:05 +0000
commit43451328a5ae74ffa34356259ee02e3786f070c3 (patch)
tree8415ddf9af1ab030f36f9aee13e5f644b671862e /tests/i/while-do
parentbc990a0917b401e16a0ab57affd868d5ef51cdec (diff)
fix(parser): accept optional DO after WHILE condition
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests/i/while-do')
-rw-r--r--tests/i/while-do/case.json1
-rw-r--r--tests/i/while-do/expected.txt1
-rw-r--r--tests/i/while-do/notes.md3
-rw-r--r--tests/i/while-do/program.cps6
4 files changed, 11 insertions, 0 deletions
diff --git a/tests/i/while-do/case.json b/tests/i/while-do/case.json
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/tests/i/while-do/case.json
@@ -0,0 +1 @@
+{}
diff --git a/tests/i/while-do/expected.txt b/tests/i/while-do/expected.txt
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/tests/i/while-do/expected.txt
@@ -0,0 +1 @@
+2
diff --git a/tests/i/while-do/notes.md b/tests/i/while-do/notes.md
new file mode 100644
index 0000000..01e389c
--- /dev/null
+++ b/tests/i/while-do/notes.md
@@ -0,0 +1,3 @@
+# while-do
+
+The legacy WHILE DO spelling and the standard WHILE spelling are both accepted. X advances from 0 through 1 to 2, then the loop stops.
diff --git a/tests/i/while-do/program.cps b/tests/i/while-do/program.cps
new file mode 100644
index 0000000..58d6319
--- /dev/null
+++ b/tests/i/while-do/program.cps
@@ -0,0 +1,6 @@
+DECLARE X : INTEGER
+X <- 0
+WHILE X < 2 DO
+ X <- X + 1
+ENDWHILE
+OUTPUT X