Modern Compiler Implementation in C by Andrew W. Appel (2004)

This expanded and updated textbook comprehensively covers all phases of a modern compiler, including lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It provides thorough coverage of current techniques in code generation and register allocation, encompassing functional and object-oriented languages, which are often overlooked in most books. Additionally, advanced chapters are now included, making it suitable as the basis for a two-semester or graduate course.

cover

The book focuses on presenting concise descriptions of widely accepted and successful techniques, avoiding an exhaustive catalog of every possible variant. It also includes detailed illustrations of interfaces between compiler modules using actual C header files. The first part, Fundamentals of Compilation, is appropriate for a one-semester introductory course in compiler design, while the second part, Advanced Topics, delves into the compilation of object-oriented and functional languages, garbage collection, loop optimizations, SSA form, loop scheduling, and optimization for cache-memory hierarchies.

Download

Ebook


See also