
Describes all phases of a modern compiler, including techniques in code generation and register allocation for imperative, functional and object-oriented languages.
"The Implementation of Functional Programming Languages"
"Compiling with Continuations"
"Modern Compiler Implementation in ..." (C, Java and ML variants)
Although oriented towards Lisp, "Lisp in small pieces" is a classical book as well, with many optimizations like inlining of lambda calls across multiple call levels.
For anyone interested in other books on compiler construction, I would recommend these:
- "The Basics of Compiler Design" by Torben Mogensen
- "Modern Compiler Implementation in C" by Andrew Appel (ML and Java versions available too)
- "Modern Compiler Design" by Grune, Bal et al.
The Dragon Book is obviously infamous for this topic, but I would recommend covering at least two slightly more basic texts before taking it on.
For LALR Parsers and DFA scanners and the like, I found the original Dragon Book http://www.amazon.co.uk/dp/B00EKYURHS is still best.
Both books are very accessible reading.