Ask HN: What are the best resources to learn about compilers? - neonbat
======
theomega
I can recommend the book „Compilers: Principles, Techniques and Tools“ [often
called „Dragon Book“]. It explains from the basics with all the theory how to
write a Leser, parser and much more features. It is one of the few books I
bought after university.

[https://en.m.wikipedia.org/wiki/Compilers:_Principles,_Techn...](https://en.m.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools)

~~~
neonbat
thanks this looks good.

------
Someone
Depends on what you want to learn. Structure and interpretation of computer
programs is good for a high-level view of what a compiler does, but it
compiles a lisp-like language, so it won’t learn you much about parsing or
about generating good error messages when given syntactically or semantically
incorrect programs (typically more work than parsing correct programs), and it
compiles to some abstract ‘instruction set’, so it won’t be worthwhile if you
want to know how to wring maximum performance out of any specific CPU.

------
SamReidHughes
This book is not completionist but instead it's to the point and avoids
wasting your time:
[https://www.amazon.com/gp/aw/d/155558179X/](https://www.amazon.com/gp/aw/d/155558179X/)

[Edit: it's _Building an Optimizing Compiler_ by Bob Morgan.]

That's assuming you don't want to waste your time reading about parsing, type
checking, or serializing an AST into some form of assembly, the parts of a
compiler which just aren't that interesting.

------
sloaken
Assuming you want to know this to make your own programming language...

Step one is to learn about BNF grammers.

When I was in school we used a book called Princples of Compiler Design. I
felt this was an excellent bok at the time. It taught me a lot about how
toprogram well.

------
Chyzwar
[https://github.com/aalhour/awesome-
compilers](https://github.com/aalhour/awesome-compilers)

------
segmondy
a college compiler class

~~~
neonbat
done it ;)

