From e44bdc6a2a0cf624b08046ecc7e5c5d5d9d2d66c Mon Sep 17 00:00:00 2001 From: _ov4 Date: Fri, 16 Oct 2026 13:21:05 +0000 Subject: fix(compiler): correct CIE semantics and diagnostic locations Use standard WHILE headers and default-public class fields, resolve pseudocode identifiers without case sensitivity, and check signed i64 literal boundaries before conversion. Preserve source locations across recursive emission and function diagnostics. Add 22 regression cases and update compiler examples and documentation. Validated all 69 CTest entries with the original Linux Actions seed and verified the release package's embedded, native and IR output paths. --- tests/ii/files/notes.md | 2 +- tests/ii/files/program.cps | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'tests/ii') diff --git a/tests/ii/files/notes.md b/tests/ii/files/notes.md index 02831fa..a13a748 100644 --- a/tests/ii/files/notes.md +++ b/tests/ii/files/notes.md @@ -1,5 +1,5 @@ # files -CIE p. 25. Both programs exercise actual text files, including truncation, append, empty lines and EOF. Separate working directories avoid shared files. Pseudocode uses the project-required WHILE DO spelling; i/standard-while separately checks the standard spelling. +CIE p. 25. Both programs exercise actual text files, including truncation, append, empty lines and EOF. Separate working directories avoid shared files. Pseudocode uses standard WHILE headers without DO; i/standard-while separately checks this syntax. Each record produces exactly one output line. Random records are preceded by fixed boundary records; every arithmetic intermediate is bounded. diff --git a/tests/ii/files/program.cps b/tests/ii/files/program.cps index 9bc4aad..f825118 100644 --- a/tests/ii/files/program.cps +++ b/tests/ii/files/program.cps @@ -19,7 +19,7 @@ FOR Index <- 1 TO Count OPENFILE "roundtrip.txt" FOR READ Combined <- "" Lines <- 0 - WHILE NOT EOF("roundtrip.txt") DO + WHILE NOT EOF("roundtrip.txt") READFILE "roundtrip.txt", Line Combined <- Combined & "[" & Line & "]" Lines <- Lines + 1 -- cgit v1.3.1-4-g156e