Hacker News new | ask | show | jobs
by amelius 2539 days ago
Also curious, what is the modern equivalent of the "Dragon Book"? A lot has changed since the old times, e.g. JIT compilers, and garbage collected VMs and such. Also CPUs have changed a lot, e.g. speculative execution, deep pipelining, large memory cache hierarchies, GPUs, etc. Is there a compiler book that addresses it all?
1 comments

Modern Compiler in ML/Java. Dragon book is nearly useless and could be useful only for lexer/parser implementation.
Eh. Dragon still has good material on pipelining and local dataflow analysis frameworks. The version two stuff on bdds is the most poorly aged part, IMO.
> Dragon book is nearly useless

Why's that?

You can't take seriously a book which spends half of its pages talking about lexing and parsing.

It's the book from the times when single-pass compilers were a thing, and that's what it's about, a primitive single pass compiler. The field has advanced too much since then.

Things you wont find in dragon book: type inference and modern type systems, modern GC implementations, exceptions and error handling, modern register allocations and optimizations, modules and parametric modules. Seriously, a book spends 300 pages on parsers and 4 pages on type inference and unification.

Interesting, thanks.