<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cie-pseudocode-compiler.git/lib/CodeGen/StatementGen.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/CodeGen/StatementGen.cc?h=main</id>
<link rel='self' href='https://git.ov4.org/cie-pseudocode-compiler.git/atom/lib/CodeGen/StatementGen.cc?h=main'/>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/'/>
<updated>2026-10-27T13:27:14Z</updated>
<entry>
<title>refactor(memory)!: move allocation functions into memory.cps</title>
<updated>2026-10-27T13:27:14Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-27T13:27:14Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=0dd0b0908300eee08a06ee51d9eb48b85fd97d74'/>
<id>urn:sha1:0dd0b0908300eee08a06ee51d9eb48b85fd97d74</id>
<content type='text'>
Route keyword NEW and DELETE through the same library runtime and retain
allocation tracking, runtime diagnostics and exception behavior.

BREAKING CHANGE: -no-std programs using NEW or DELETE must explicitly import memory.cps.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(input)!: validate INPUT and read whole lines into STRING</title>
<updated>2026-10-22T15:35:05Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T15:33:17Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=8745f421b4cf7e1d54c17a360d46fab889ca12cc'/>
<id>urn:sha1:8745f421b4cf7e1d54c17a360d46fab889ca12cc</id>
<content type='text'>
Scalar INPUT now reads one whitespace-delimited token through module-local
IR helpers instead of scanf, then skips spaces and tabs and consumes one
newline. INTEGER, REAL, BOOLEAN (TRUE or FALSE in any case) and CHAR are
validated, and bad input or end of input is a runtime error. STRING INPUT
reads the rest of the line. The unused scanf and REAL printf format globals
are removed.

Co-Authored-By: Claude Sonnet 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(codegen): split large emitStmtImpl arms into methods</title>
<updated>2026-10-22T03:58:26Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T03:55:56Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=a7b63b8f909f0c17894a9da25c6b274f46dcd0c7'/>
<id>urn:sha1:a7b63b8f909f0c17894a9da25c6b274f46dcd0c7</id>
<content type='text'>
Move the self-contained FunctionDef, INPUT, OUTPUT and READFILE branches
of emitStmtImpl into private emitFunctionDefStmt, emitInputStmt,
emitOutputStmt and emitReadFileStmt methods. The dispatch order and the
branch bodies are unchanged.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(codegen): share writable variable lookup</title>
<updated>2026-10-22T03:58:26Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T03:52:21Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=e717664c749cf237479147ddecd70a39fc3426f2'/>
<id>urn:sha1:e717664c749cf237479147ddecd70a39fc3426f2</id>
<content type='text'>
emitLValue (variable and designator base) and plain assignment repeated
the same lookup, enum-or-unknown diagnostic and requireWritable check.
Move it into a private lookupWritableSymbol helper. READFILE keeps its
own lookup, which has no enum diagnostic.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(codegen): share file keyword filename operand emission</title>
<updated>2026-10-22T03:58:26Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T03:45:06Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=1d2bb133b7a3540aeb81c5f9616cb366aebc919f'/>
<id>urn:sha1:1d2bb133b7a3540aeb81c5f9616cb366aebc919f</id>
<content type='text'>
EOF, OPENFILE, READFILE and CLOSEFILE each rejected a whole-array filename
and then emitted it as a C string. Route them through a private
emitFileNameOperand helper; diagnostics are unchanged. WRITEFILE keeps its
own combined check.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(codegen): remove dead parameters, fields and branches</title>
<updated>2026-10-22T03:58:26Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-22T03:26:30Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=8c2a2b8f9b3f495f329b2ca3c2759e076f9554fd'/>
<id>urn:sha1:8c2a2b8f9b3f495f329b2ca3c2759e076f9554fd</id>
<content type='text'>
Drop the never-read StackObject::IsCopy flag and registerStackObject
parameter, the unused NewExprAST forward declaration, the unused Ret
parameter of FunctionGen::emitReturn and CG parameter of
ArrayHandler::loadElement, unused &lt;cstdio&gt; includes, and the
coerceValueToType early returns already covered by the exact LLVM type
check (builtin kinds always map to double/i64/i1/i8).

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(codegen): support explicit template arguments</title>
<updated>2026-10-21T06:00:55Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-21T06:00:55Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=bfe020bfa91640e7a6f1a516dc752fa754249088'/>
<id>urn:sha1:bfe020bfa91640e7a6f1a516dc752fa754249088</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(codegen): instantiate function templates by deduction</title>
<updated>2026-10-21T05:54:26Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-21T05:54:26Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=c56877035d6600b463a9cbf0e339f7548c0b46fd'/>
<id>urn:sha1:c56877035d6600b463a9cbf0e339f7548c0b46fd</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(parser): parse TEMPLATE declarations, template ids and parameter packs</title>
<updated>2026-10-21T05:43:35Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-21T05:43:35Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=dd5bbae055fd34ce2e12ef63f8a261c6b15dc83e'/>
<id>urn:sha1:dd5bbae055fd34ce2e12ef63f8a261c6b15dc83e</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor(strings): replace compiler builtins with the STRING library</title>
<updated>2026-10-20T11:57:16Z</updated>
<author>
<name>_ov4</name>
<email>ov4@ov4.org</email>
</author>
<published>2026-10-20T11:57:16Z</published>
<link rel='alternate' type='text/html' href='https://git.ov4.org/cie-pseudocode-compiler.git/commit/?id=62b605c6c0ea13e9763c0a0115464007b13a8831'/>
<id>urn:sha1:62b605c6c0ea13e9763c0a0115464007b13a8831</id>
<content type='text'>
Construct literals as STRING values and route string operations through
ordinary library functions and operators. Preserve value ownership in
records, arrays, constants and file I/O.

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