For what it's worth you can implement a C compiler in under 10kLOC. Chibicc is only a few thousand lines [1]. There is also Cake [2] and tinycc [3] which are both relatively small.<p>[1] <a href="https://github.com/rui314/chibicc">https://github.com/rui314/chibicc</a><p>[2] <a href="https://github.com/thradams/cake">https://github.com/thradams/cake</a><p>[3] <a href="https://bellard.org/tcc/" rel="nofollow">https://bellard.org/tcc/</a>
Thanks for sharing. Good work. It seems you've done a good amount of work on this, with the multiple backends.<p>From your other comments here it seems your emphasising "understandability by one person", which Oberon as you mentioned was designed to be understandable.<p>It reminds me of Taylor Troesh's wigwams<p><a href="https://taylor.town/pardon-2023#wigwams" rel="nofollow">https://taylor.town/pardon-2023#wigwams</a><p>I need to document my JIT compiler's design which is really straightforward.<p>I've been loosely reading qbe's sourcecode but I need to go through the bibliography to understand the code more. At the moment it's all unfamiliar and not understandable.
I love projects like this, but why S-expressions? Optimizing your frontend for the computer to parse (instead of the human) is the wrong tradeoff IMO unless you really really need an ultra-powerful macro language.<p>Also, I'd call it "C runtime" not "C-like" of you're not going to have C-like syntax<p>Just my 2c
This was submitted four days ago. But the comments and submission are less than six hours old? I also remember reading these comments. Got some major deja vu (spelling).
Merely passing by to note an entire compiler, editor, IDE and OS implemented in under half that many LOC.<p><a href="http://www.projectoberon.net/" rel="nofollow">http://www.projectoberon.net/</a>