<feed xmlns='http://www.w3.org/2005/Atom'>
<title>antcc/mem.c, branch trunk</title>
<subtitle>A little C compiler</subtitle>
<id>https://git.lemon.rip/antcc/atom?h=trunk</id>
<link rel='self' href='https://git.lemon.rip/antcc/atom?h=trunk'/>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/'/>
<updated>2026-03-17T12:22:00+00:00</updated>
<entry>
<title>REFACTOR: move sources to src/</title>
<updated>2026-03-17T12:22:00+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2026-03-17T12:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=a8d6f8bf30c07edb775e56889f568ca20240bedf'/>
<id>urn:sha1:a8d6f8bf30c07edb775e56889f568ca20240bedf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arena: make sure to zero initialize some stuff</title>
<updated>2025-12-22T08:00:25+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-22T08:00:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=c3ba1e7c9c3cd18c8b7ad176cf19891724a85693'/>
<id>urn:sha1:c3ba1e7c9c3cd18c8b7ad176cf19891724a85693</id>
<content type='text'>
</content>
</entry>
<entry>
<title>optimize lexer a bit more</title>
<updated>2025-12-20T11:11:16+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-20T11:11:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=640d5e95560d3c9099a58e09a93831197b863a2b'/>
<id>urn:sha1:640d5e95560d3c9099a58e09a93831197b863a2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>create distinct interned string type</title>
<updated>2025-12-15T21:39:52+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-15T21:39:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=302e24671942051d70707586cf8c605a5815edac'/>
<id>urn:sha1:302e24671942051d70707586cf8c605a5815edac</id>
<content type='text'>
Interned strings are used pervasively, so it's a good idea to add a
layer of type safety to differentiate them from general cstrs and avoid
potential bugs from comparing non-interned and interned strings. Not
that that's happened so far that I can remember, but it could.

I'm 90% sure it's legal to alias `struct {char c;}` pointers with `char`
pointers. This specific typedef gives type safety but with a simple
one-way `internstr -&gt; const char *` typecast (with `&amp;istr-&gt;c`).
Converting the other way around is more intentional: a straight up cast
`(internstr)cstr` which sticks out as unchecked and probably wrong, or
calling the intern(cstr) function, which is the right way.
</content>
</entry>
<entry>
<title>move intern() to mem.c</title>
<updated>2025-12-15T20:46:24+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-15T20:46:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=c6c0f2ef35175075e91169113cfe856f29b3eb9a'/>
<id>urn:sha1:c6c0f2ef35175075e91169113cfe856f29b3eb9a</id>
<content type='text'>
Being in lex.c was vestigial, since it was being used all over the
frontend and backend.
</content>
</entry>
<entry>
<title>lexer: use a hashmap to lookup keywords</title>
<updated>2025-12-15T16:16:41+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-15T11:01:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=cb83b9e05b4a704cc6127e087917a87af8c97be1'/>
<id>urn:sha1:cb83b9e05b4a704cc6127e087917a87af8c97be1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lex: use pmap for macro lookup</title>
<updated>2025-12-12T09:21:43+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-12T09:20:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=5f0793c34c4f10a2221b793316fdc82c50d10452'/>
<id>urn:sha1:5f0793c34c4f10a2221b793316fdc82c50d10452</id>
<content type='text'>
To reduce hashmap code repetition. Also add pmap_del for this purpose
</content>
</entry>
<entry>
<title>mem: fix pmap_init and change hashmap load factors to 75%</title>
<updated>2025-12-09T18:19:39+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-12-09T18:19:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=c2833c1c84481aea0008898486263f33f65c353d'/>
<id>urn:sha1:c2833c1c84481aea0008898486263f33f65c353d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lex: remove some hacks and optimize preprocessor</title>
<updated>2025-11-28T16:37:34+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-11-28T16:37:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=61d64a4ce2550288d4b97128893f3d53d129bc17'/>
<id>urn:sha1:61d64a4ce2550288d4b97128893f3d53d129bc17</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor vec_of(T) and misc</title>
<updated>2025-10-20T09:04:47+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-10-20T09:04:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=21be6c1317078691de33c658dfd77755c9f43592'/>
<id>urn:sha1:21be6c1317078691de33c658dfd77755c9f43592</id>
<content type='text'>
</content>
</entry>
</feed>
