1. Overview of Compilation 2. Scanners 3. Parsers 4. Context Sensitive Analysis 5. Intermediate Representations 6. The Procedure Abstraction 7. Code Shape 8. Introduction to Optimization 9. Data-Flow Analysis 10. Scalar Optimizations 11. Instruction Selection 12. Instruction Scheduling 13. Register Allocation A. ILOC B. Data Structures
This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation.