<feed xmlns='http://www.w3.org/2005/Atom'>
<title>moon/zygotec/tests/langerrors, branch work/b213</title>
<subtitle> work-in-progress programming language.
</subtitle>
<id>https://git.downsta.ir/moon/zygotec/atom?h=work%2Fb213</id>
<link rel='self' href='https://git.downsta.ir/moon/zygotec/atom?h=work%2Fb213'/>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/'/>
<updated>2026-10-14T13:28:59+00:00</updated>
<entry>
<title>prototypes: parameters may be unnamed, int f(int, int*); (appendix b.2.13)</title>
<updated>2026-10-14T13:28:59+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T13:28:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=77d2f8a44e2503796a7ef5c170e11811a4f7fcfd'/>
<id>urn:sha1:77d2f8a44e2503796a7ef5c170e11811a4f7fcfd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lexer: a block comment that is never closed is 'unterminated comment' (appendix b.2.11)</title>
<updated>2026-10-14T13:20:41+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T13:20:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=ccbc77c2d3fa348d0de6f32fc540468401e6880b'/>
<id>urn:sha1:ccbc77c2d3fa348d0de6f32fc540468401e6880b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>include: written inside a function body is 'include is top level only' (appendix b.2.9)</title>
<updated>2026-10-14T12:44:02+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:44:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=d93000c4b5ff7b3dda0e59a4d333b0463e745e04'/>
<id>urn:sha1:d93000c4b5ff7b3dda0e59a4d333b0463e745e04</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fndef: a prototype after a definition in the same module keeps the definition (appendix b.2.4)</title>
<updated>2026-10-14T12:41:59+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:41:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=19cdaa91b74da17a78809433ff7e6a2c084d8385'/>
<id>urn:sha1:19cdaa91b74da17a78809433ff7e6a2c084d8385</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fndef: a second definition of a function in the same module is 'is defined twice' (appendix b.2.3)</title>
<updated>2026-10-14T12:40:42+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:40:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=a752292b54e22a8024b9d9162762edd2efa533b5'/>
<id>urn:sha1:a752292b54e22a8024b9d9162762edd2efa533b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>closures: allow 24 parameters, like functions (was 19)</title>
<updated>2026-10-14T12:37:12+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:37:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=3e71e980c611ac9f00565564bd1e647194f74321'/>
<id>urn:sha1:3e71e980c611ac9f00565564bd1e647194f74321</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fndef: allow 24 parameters; the limit check ran after the 24th was counted</title>
<updated>2026-10-14T12:25:40+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:25:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=6b7c7048b8bb92a0ab2f7ae8749f80349c607ed1'/>
<id>urn:sha1:6b7c7048b8bb92a0ab2f7ae8749f80349c607ed1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>capture_scan: restore panic after the dry scan, so a bad literal in a function's first statement is reported</title>
<updated>2026-10-14T12:23:37+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T12:23:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=5a4f3885edafe289dce17ec8b53a8fc188b9e146'/>
<id>urn:sha1:5a4f3885edafe289dce17ec8b53a8fc188b9e146</id>
<content type='text'>
</content>
</entry>
<entry>
<title>zc: add the defer statement</title>
<updated>2026-10-14T10:39:47+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T10:39:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=54b8a8918bb63c98a8f58e823033232243647562'/>
<id>urn:sha1:54b8a8918bb63c98a8f58e823033232243647562</id>
<content type='text'>
defer expr; and defer { ... } register code that runs when the enclosing
block ends: at the end of the block, and at return, break and continue
that leave it. the tokens are kept at the defer and compiled again at each
exit (block_close, body, kw_return, kw_break, kw_continue), newest first,
before the block's variables are released, so the analyzer sees a deferred
rt.free(p) as the transfer of p where it runs. names mean what they meant
at the defer; values are read when it runs. return, break and continue
inside a deferred statement are errors, reported once. works in unchecked
code and closures (own base per function context).
</content>
</entry>
<entry>
<title>Merge branch 'worktree-agent-a3354164c07827b2e' into ccr-0054c02e-dfdvnd</title>
<updated>2026-10-14T09:39:39+00:00</updated>
<author>
<name>zinc</name>
<email>zinc@downsta.ir</email>
</author>
<published>2026-10-14T09:39:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.downsta.ir/moon/zygotec/commit/?id=0ed3f650e50bc6fa7712e1b3e650ec9bc678ac91'/>
<id>urn:sha1:0ed3f650e50bc6fa7712e1b3e650ec9bc678ac91</id>
<content type='text'>
</content>
</entry>
</feed>
