Engineering a Compiler,
Edition 3Editors: By Keith D. Cooper and Linda Torczon
Conformance
-
PDF/UA-1
-
The publication was certified on 20250728
-
For queries regarding accessibility information, contact [email protected]
Ways Of Reading
-
This e-publication is accessible to the full extent that the file format and types of content allow, on a specific reading device, by default, without necessarily including any additions such as textual descriptions of images or enhanced navigation.
Navigation
-
The contents of the PDF have been tagged to permit access by assistive technologies as per PDF-UA-1 standard.
-
Page breaks included from the original print source
Additional Accessibility Information
-
The language of the text has been specified (e.g., via the HTML or XML lang attribute) to optimise text-to-speech (and other alternative renderings), both at the whole document level and, where appropriate, for individual words, phrases or passages in a different language.
Note
-
This product relies on 3rd party tooling which may impact the accessibility features visible in inspection copies. All accessibility features mentioned would be present in the purchased version of the title.
*Textbook and Academic Authors Association (TAA) Textbook Excellence Award Winner, 2024*
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.
Key Features
- Presents in-depth treatments of algorithms and techniques used in the front end of a modern compiler
- Pays particular attention to code optimization and code generation, both primary areas of recent research and development
- Focuses on how compilers (and interpreters) implement abstraction, tying the underlying knowledge to students’ own experience and to the languages in which they have been taught to program
- Covers bottom-up methods of register allocation at the local scope
About the author
By Keith D. Cooper, Department of Computer Science, Rice University, Houston, Texas, USA and Linda Torczon, Principal Investigator on the Massively Scalar Compiler Project, Rice University, Houston, Texas, USA
1. Overview of Compilation
2. Scanners
3. Parsers
4. Intermediate Representations
5. Syntax-Driven Translation
6. Implementing Procedures
7. Code Shape
8. Introduction to Optimization
9. Data-Flow Analysis
10. Scalar Optimization
11. Instruction Selection
12. Instruction Scheduling
13. Register Allocation
14. Runtime Optimization
- COMP_412_Course_Files.zip
- COMP_506_Course_Files.zip
- Image collection
- App_A
- App_B
- Chapter001
- Chapter002
- 002001.jpg
- 002002.jpg
- 002003.jpg
- 002004.jpg
- 002005.jpg
- 002006.jpg
- 002007.jpg
- 002008.jpg
- 002009.jpg
- 002010.jpg
- 002011.jpg
- 002012.jpg
- 002013.jpg
- 002014.jpg
- 002015.jpg
- 002016.jpg
- 002017.jpg
- 002018.jpg
- 002019.jpg
- 002020.jpg
- 002un001.jpg
- 002un002.jpg
- 002un003.jpg
- 002un004.jpg
- 002un005.jpg
- 002un006.jpg
- 002un007.jpg
- 002un008.jpg
- 002un009.jpg
- 002un010.jpg
- 002un011.jpg
- 002un012.jpg
- 002un013.jpg
- 002un014.jpg
- 002un015.jpg
- 002un016.jpg
- 002un017.jpg
- 002un018.jpg
- 002un019.jpg
- 002un020.jpg
- 002un021.jpg
- 002un022.jpg
- 002un023.jpg
- 002un024.jpg
- 002un025.jpg
- 002un026.jpg
- 002un027.jpg
- 002un028.jpg
- 002un029.jpg
- 002un030.jpg
- 002un031.jpg
- Chapter003
- 003001.jpg
- 003002.jpg
- 003003.jpg
- 003004.jpg
- 003005.jpg
- 003006.jpg
- 003007.jpg
- 003008.jpg
- 003009.jpg
- 003010.jpg
- 003011.jpg
- 003012.jpg
- 003013.jpg
- 003014.jpg
- 003015.jpg
- 003016.jpg
- 003017.jpg
- 003018.jpg
- 003019.jpg
- 003020.jpg
- 003021.jpg
- 003022.jpg
- 003023.jpg
- 003024.jpg
- 003025.jpg
- 003026.jpg
- 003027.jpg
- 003028.jpg
- 003029.jpg
- 003030.jpg
- 003031.jpg
- 003032.jpg
- 003033.jpg
- 003034.jpg
- 003un001.jpg
- 003un002.jpg
- 003un003.jpg
- 003un004.jpg
- 003un005.jpg
- 003un006.jpg
- 003un007.jpg
- 003un008.jpg
- 003un009.jpg
- 003un010.jpg
- 003un011.jpg
- 003un012.jpg
- 003un013.jpg
- 003un014.jpg
- 003un015.jpg
- 003un016.jpg
- 003un017.jpg
- 003un018.jpg
- 003un019.jpg
- 003un020.jpg
- 003un021.jpg
- 003un022.jpg
- 003un023.jpg
- 003un024.jpg
- 003un025.jpg
- 003un026.jpg
- 003un027.jpg
- 003un028.jpg
- Chapter004
- Chapter005
- 005001.jpg
- 005002.jpg
- 005003.jpg
- 005004.jpg
- 005005.jpg
- 005006.jpg
- 005007.jpg
- 005008.jpg
- 005009.jpg
- 005010.jpg
- 005011.jpg
- 005012.jpg
- 005013.jpg
- 005014.jpg
- 005015.jpg
- 005016.jpg
- 005017.jpg
- 005018.jpg
- 005019.jpg
- 005un001.jpg
- 005un002.jpg
- 005un003.jpg
- 005un004.jpg
- 005un005.jpg
- 005un006.jpg
- 005un007.jpg
- 005un008.jpg
- 005un009.jpg
- 005un010.jpg
- 005un011.jpg
- 005un012.jpg
- 005un013.jpg
- Chapter006
- Chapter007
- Chapter008
- 008001.jpg
- 008002.jpg
- 008003.jpg
- 008004.jpg
- 008005.jpg
- 008006.jpg
- 008007.jpg
- 008008.jpg
- 008009.jpg
- 008010.jpg
- 008011.jpg
- 008012.jpg
- 008013.jpg
- 008014.jpg
- 008015.jpg
- 008016.jpg
- 008017.jpg
- 008018.jpg
- 008019.jpg
- 008020.jpg
- 008021.jpg
- 008022.jpg
- 008023.jpg
- 008024.jpg
- 008un001.jpg
- 008un002.jpg
- 008un003.jpg
- 008un004.jpg
- 008un005.jpg
- 008un006.jpg
- 008un007.jpg
- 008un008.jpg
- 008un009.jpg
- 008un010.jpg
- Chapter009
- 009001.jpg
- 009002.jpg
- 009003.jpg
- 009004.jpg
- 009005.jpg
- 009006.jpg
- 009007.jpg
- 009008.jpg
- 009009.jpg
- 009010.jpg
- 009011.jpg
- 009012.jpg
- 009013.jpg
- 009014.jpg
- 009015.jpg
- 009016.jpg
- 009017.jpg
- 009018.jpg
- 009019.jpg
- 009020.jpg
- 009021.jpg
- 009022.jpg
- 009023.jpg
- 009024.jpg
- 009025.jpg
- 009026.jpg
- 009027.jpg
- 009028.jpg
- 009029.jpg
- 009un001.jpg
- 009un002.jpg
- 009un003.jpg
- 009un004.jpg
- 009un005.jpg
- 009un006.jpg
- 009un007.jpg
- 009un008.jpg
- 009un009.jpg
- 009un010.jpg
- 009un011.jpg
- 009un012.jpg
- 009un013.jpg
- 009un014.jpg
- 009un015.jpg
- 009un016.jpg
- 009un017.jpg
- 009un018.jpg
- 009un019.jpg
- 009un020.jpg
- 009un021.jpg
- 009un022.jpg
- Chapter010
- 010001.jpg
- 010002.jpg
- 010003.jpg
- 010004.jpg
- 010005.jpg
- 010006.jpg
- 010007.jpg
- 010008.jpg
- 010009.jpg
- 010010.jpg
- 010011.jpg
- 010012.jpg
- 010013.jpg
- 010014.jpg
- 010015.jpg
- 010016.jpg
- 010un001.jpg
- 010un002.jpg
- 010un003.jpg
- 010un004.jpg
- 010un005.jpg
- 010un006.jpg
- 010un007.jpg
- 010un008.jpg
- 010un009.jpg
- 010un010.jpg
- 010un011.jpg
- 010un012.jpg
- Chapter011
- Chapter012
- 012001.jpg
- 012002.jpg
- 012003.jpg
- 012004.jpg
- 012005.jpg
- 012006.jpg
- 012007.jpg
- 012008.jpg
- 012009.jpg
- 012010.jpg
- 012011.jpg
- 012012.jpg
- 012013.jpg
- 012014.jpg
- 012015.jpg
- 012016.jpg
- 012017.jpg
- 012018.jpg
- 012019.jpg
- 012un001.jpg
- 012un002.jpg
- 012un003.jpg
- 012un004.jpg
- 012un005.jpg
- 012un006.jpg
- 012un007.jpg
- 012un008.jpg
- 012un009.jpg
- 012un010.jpg
- Chapter013
- Chapter014
- README.docx
- Solutions_to_Exercises.pdf