Modern Compiler Implementation in Java. Second Edition by Andrew W. Appel (0101)

This comprehensive textbook covers all aspects of compiler design, spanning lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection through tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It provides in-depth insights into current techniques in code generation and register allocation, encompassing the compilation of functional and object-oriented languages. The book presents well-established and successful techniques, featuring practical illustrations using actual Java^TM® classes.

cover

The initial section is suitable for a one-semester introductory course in compiler design. The subsequent part, covering the compilation of object-oriented and functional languages, garbage collection, loop optimization, SSA form, instruction scheduling, and optimization for cache-memory hierarchies, is designed for a second-semester or graduate course. This new edition incorporates additional discussion on Java and object-oriented programming concepts, including visitor patterns and a new Mini-Java programming project. A distinctive aspect is the newly redesigned compiler project in Java, focusing on a subset of Java itself, encompassing both front-end and back-end phases.

Download

Ebook


See also