<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cie-pseudocode-compiler.git/lib/Parser/ParserFile.cc, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>https://git.ov4.org/cie-pseudocode-compiler.git/atom/lib/Parser/ParserFile.cc?h=main</id>
<link rel='self' href='https://git.ov4.org/cie-pseudocode-compiler.git/atom/lib/Parser/ParserFile.cc?h=main'/>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/'/>
<updated>2026-10-22T04:05:50Z</updated>
<entry>
<title>refactor(parser): remove dead token return, precedence check and includes</title>
<updated>2026-10-22T04:05:50Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T03:36:06Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=0b87ded993d59450ab70ade6e4ce154da65948a3'/>
<id>urn:sha1:0b87ded993d59450ab70ade6e4ce154da65948a3</id>
<content type='text'>
getNextToken() now returns void since no caller reads its result, and
GetTokPrecedence() does a single map lookup without the unreachable
non-positive precedence check. Unused &lt;cstdio&gt;, &lt;set&gt; and FunctionAST.h
includes are dropped.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(diagnostics): print source diagnostics in gcc file:line: layout</title>
<updated>2026-10-21T14:03:31Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-21T14:03:31Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=b4ffb2d9498560557821714e2d4651279dd6817c'/>
<id>urn:sha1:b4ffb2d9498560557821714e2d4651279dd6817c</id>
<content type='text'>
Lexer, parser, driver and codegen diagnostics now read
"&lt;path&gt;:&lt;line&gt;: error: &lt;message&gt;" instead of "error: &lt;message&gt; at line N
in &lt;path&gt;". The path is always printed as given on the command line.
Call sites pass the bare message to cps::sourceError/sourceWarning, which
carry printf format checking; reportError routes through the same helper.

The suite iii harness parses the new layout and matches the reason
against the message only. iii/template-class-pack-field passed only
because its reason regex matched the case path, so it is now
case-insensitive.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(diag): file-qualified diagnostic locations</title>
<updated>2026-10-17T09:09:03Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-17T09:09:03Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=dc645a36aaade7087ade574cefe69ce7bb29753e'/>
<id>urn:sha1:dc645a36aaade7087ade574cefe69ce7bb29753e</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: distinguish compiler errors and report compilation termination</title>
<updated>2026-10-13T12:32:03Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-13T12:32:03Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=17cec530b0a4d792bde2d37583b6c26e89f9b1bd'/>
<id>urn:sha1:17cec530b0a4d792bde2d37583b6c26e89f9b1bd</id>
<content type='text'>
Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: top-level RETURN and READFILE designator targets error cleanly</title>
<updated>2026-07-26T19:15:54Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-07-26T19:15:54Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=3818460a473bd3ffcd35f09eb6429e1b0f00bc07'/>
<id>urn:sha1:3818460a473bd3ffcd35f09eb6429e1b0f00bc07</id>
<content type='text'>
- RETURN outside any FUNCTION/PROCEDURE used to emit an i64/void ret
  inside i32 main — a verifier dump instead of a diagnostic. It is now a
  clean compile error (no signature means top level: pseudocode cannot
  name a function 'main', it is a reserved runtime symbol).
- READFILE "f.txt", r.f mis-parsed into an error cascade the same way
  INPUT r.f did before its fix; the target now consumes the designator
  and reports one clear 'must be a plain STRING variable' error.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: implement CIE 9.1 text file handling (OPENFILE/READFILE/WRITEFILE/CLOSEFILE/EOF)</title>
<updated>2026-07-26T15:45:40Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-07-26T15:45:40Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=344206d57e834b2394cbe2ec0df50b04a8b3c171'/>
<id>urn:sha1:344206d57e834b2394cbe2ec0df50b04a8b3c171</id>
<content type='text'>
Front end: OPENFILE/READFILE/WRITEFILE/CLOSEFILE plus reserved mode
keywords READ/WRITE/APPEND (RANDOM reserved with a dedicated
not-implemented error); statement nodes in new FileAST.h, parsing in new
ParserFile.cc; EOF joins the Builtins table as the 12th builtin and
CallExprAST now carries a line number for its runtime diagnostics.

Runtime: new FileHandler (StringHandler-shaped leaf) lazily synthesizes
internal __cps_file_* helper functions and a 16-slot open-file table
keyed by filename content (strcmp — STRING '=' is pointer identity).
EOF is an fgetc/ungetc peek; READFILE grows a malloc/realloc line buffer
and strips a trailing CR; fopen uses text modes so mingw-w64 line
translation works. File-free programs get byte-identical IR. All misuse
(not open, wrong mode, reopen, fopen failure, read past EOF, table full)
dies with the existing "[Fatal] line N:" pattern via a new
RuntimeCheck::emitErrorAndExit overload taking runtime printf args.

Also fixes a pre-existing ArithmeticHandler hole surfaced by adversarial
review: mixed-width integer operands (i1 BOOLEAN / i8 CHAR vs i64) now
widen via ZExt instead of emitting invalid IR, and remaining type
mismatches get a clean diagnostic; -EOF(f) and -IS_NUM(x) compile.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
