Engineering a Compiler, Third Edition covers the latest developments in compiler technology, with new chapters focusing on semantic elaboration (the problems that arise in generating code from the ad-hoc syntax-directed translation schemes in a generated parser), on runtime support for naming and addressability, and on code shape for expressions, assignments and control-structures. Leading educators and researchers, Keith Cooper and Linda Torczon, have revised this popular text with a fresh approach to learning important techniques for constructing a modern compiler, combining basic principles with pragmatic insights from their own experience building state-of-the-art compilers.
1. Chapter 8. Introduction to Optimization - p. 379 2. Chapter 9. Data-Flow Analysis - p. 449 3. Chapter 10. Scalar Optimization - p. 517 4. Chapter 11. Instruction Selection - p. 575 5. Chapter 12. Instruction Scheduling - p. 617 6. Chapter 13. Register Allocation - p. 663 7. Chapter 14. Runtime Optimization - p. 713 8. Appendix A. ILOC - p. 757 9. Appendix B. Data Structures - p. 769 10. Bibliography - p. 793 11. Index - p. 815
Engineering a Compiler, Third Edition covers the latest developments in compiler technology, with new chapters focusing on semantic elaboration (the problems that arise in generating code from the ad-hoc syntax-directed translation schemes in a generated parser), on runtime support for naming and addressability, and on code shape for expressions, assignments and control-structures. Leading educators and researchers, Keith Cooper and Linda Torczon, have revised this popular text with a fresh approach to learning important techniques for constructing a modern compiler, combining basic principles with pragmatic insights from their own experience building state-of-the-art compilers.
1. Chapter 8. Introduction to Optimization - p. 379 2. Chapter 9. Data-Flow Analysis - p. 449 3. Chapter 10. Scalar Optimization - p. 517 4. Chapter 11. Instruction Selection - p. 575 5. Chapter 12. Instruction Scheduling - p. 617 6. Chapter 13. Register Allocation - p. 663 7. Chapter 14. Runtime Optimization - p. 713 8. Appendix A. ILOC - p. 757 9. Appendix B. Data Structures - p. 769 10. Bibliography - p. 793 11. Index - p. 815