Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A Compiler Writing Journey (github.com/doctorwkt)
134 points by ibobev 14 days ago | hide | past | favorite | 19 comments


Very cool! I can’t imagine writing everything in C, I’m currently learning this in OCaml which seems nicer for a project like this.



> I can’t imagine writing everything in C

I will say that C is a perfect low level language for bootstrapping more complex systems and languages. If I were building a bootstrap compiler I would write it in C and have it emit C. Specifically C89/99 ONLY with no POSIX/GNU deps. that will guarantee a large swath of compiler and system support out of the box.



Wow that's super nostalgic. You're on a great path! After doing something similar, I switched to Haskell. Give it a go if you have the time.


Having it all in C brings back memories from "Compiler Design in C" a famous book for its time, printed in 1990.

https://holub.com/compiler/


I wrote a book in its spirit in 2012 with a second edition in 2022: http://t3x.org/reload/

It is called Practical Compiler Construction. The Compiler Writing Journey is based on it.


Thanks for your amazing work!

What a fantastic resource!

I remember reading that book (along with the Dragon book!)

"Part 64: Self-compilation on an 8-bit CPU"

Unlike how a bunch of projects end right as they start to get good, this has a great ending. Thank you


(2020)

Previously:

12 comments; 156 points. 2022 November 29. <https://news.ycombinator.com/item?id=33788013>

67 comments; 484 points. 2020 January 8. <https://news.ycombinator.com/item?id=21968420>


This hopefully can be useful as well https://space4links.com/r/writing-a-compiler

What a fantastic resource! Thanks for sharing!

I feel like interpreters and compilers were trendy in 2015/2016, bu i'm too young to know. Am i right?

[flagged]



How much of Claude was used?


It was started 7 years ago.


Why must there always be a random guy on HN randomly mentioning Claude?



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: