"Contains most up-to-date compiler techniques. Contains good programming assignment." Professor Zhong Shao, Yale University
This new, expanded textbook describes all phases of a modern compiler, including current techniques in code generation and register allocation, for imperative, functional and object-oriented languages. In a concise and practical way the author describes the fundamentals of compilation and then moves on to advanced topics such as SSA form, loop scheduling, and optimization for cache-memory hierarchies. A unique feature is a compiler implementation project in ML, including front-end and 'high-tech' back-end phases.