1 option
Engineering a compiler / Keith D. Cooper and Linda Torczon.
- Format:
- Book
- Author/Creator:
- Cooper, Keith D. (Keith Daniel)
- Language:
- English
- Subjects (All):
- Compilers (Computer programs).
- Compilers (Computer programs)--Design and construction.
- Physical Description:
- 1 online resource (833 p.)
- Place of Publication:
- San Francisco, Calif. ; London : Morgan Kaufmann, c2004.
- Language Note:
- English
- Summary:
- The proliferation of processors, environments, and constraints on systems has cast compiler technology into a wider variety of settings, changing the compiler and compiler writer's role. No longer is execution speed the sole criterion for judging compiled code. Today, code might be judged on how small it is, how much power it consumes, how well it compresses, or how many page faults it generates. In this evolving environment, the task of building a successful compiler relies upon the compiler writer's ability to balance and blend algorithms, engineering insights, and careful planning. Today's
- Contents:
- Contents; Preface; 1. Overview of Compilation; 1.1 Introduction; 1.2 Why Study Compiler Construction?; 1.3 The Fundamental Principles of Compilation; 1.4 Compiler Structure; 1.5 High-Level View of Translation; 1.6 Desirable Properties of a Compiler; 1.7 Summary and Perspective; Chapter Notes 1; 2. Scanning; 2.1 Introduction; 2.2 Recognizing Words; 2.3 Regular Expressions; 2.4 From Regular Expression to Scanner and Back; 2.5 Implementing Scanners; 2.6 Advanced Topics; 2.7 Summary and Perspective; Chapter Notes 2; 3. Parsing; 3.1 Introduction; 3.2 Expressing Syntax; 3.3 Top-Down Parsing
- 3.4 Bottom-Up Parsing3.5 Building lr(1) Tables; 3.6 Practical Issues; 3.7 Advanced Topics; 3.8 Summary and Perspective; Chapter Notes 3; 4. Context-Sensitive Analysis; 4.1 Introduction; 4.2 An Introduction to Type Systems; 4.3 The Attribute-Grammar Framework; 4.4 Ad Hoc Syntax-Directed Translation; 4.5 Advanced Topics; 4.6 Summary and Perspective; Chapter Notes 4; 5. Intermediate Representations; 5.1 Introduction; 5.2 Taxonomy; 5.3 Graphical; 5.4 Linear; 5.5 Static Single-Assignment Form; 5.6 Mapping Values to Names; 5.7 Symbol Tables; 5.8 Summary and Perspective; Chapter Notes 5
- 6. The Procedure Abstraction6.1 Introduction; 6.2 Control Abstraction; 6.3 Name Spaces; 6.4 Communicating Values between Procedures; 6.5 Establishing Addressability; 6.6 Standardized Linkages; 6.7 Managing Memory; 6.8 Summary and Perspective; Chapter Notes 6; 7. Code Shape; 7.1 Introduction; 7.2 Assigning Storage Locations; 7.3 Arithmetic Operators; 7.4 Boolean and Relational Operators; 7.5 Storing and Accessing Arrays; 7.6 Character Strings; 7.7 Structure References; 7.8 Control-Flow Constructs; 7.9 Procedure Calls; 7.10 Implementing Object-Oriented Languages; 7.11 Summary and Perspective
- Chapter Notes 78. Introduction to Code Optimization; 8.1 Introduction; 8.2 Background; 8.3 Redundant Expressions; 8.4 Scope of Optimization; 8.5 Value Numbering Over Regions Larger Than Basic Blocks; 8.6 Global Redundancy Elimination; 8.7 Advanced Topics; 8.8 Summary and Perspective; Chapter Notes 8; 9. Data-Flow Analysis; 9.1 Introduction; 9.2 Iterative Data-Flow Analysis; 9.3 Static Single-Assignment Form; 9.4 Advanced Topics; 9.5 Summary and Perspective; Chapter Notes 9; 10. Scalar Optimizations; 10.1 Introduction; 10.2 A Taxonomy for Transformations; 10.3 Example Optimizations
- 10.4 Advanced Topics10.5 Summary and Perspective; Chapter Notes 10; 11. Instruction Selection; 11.1 Introduction; 11.2 A Simple Tree-Walk Scheme; 11.3 Instruction Selection via Tree-Pattern Matching; 11.4 Instruction Selection via Peephole Optimization; 11.5 Advanced Topics; 11.6 Summary and Perspective; Chapter Notes 11; 12. Instruction Scheduling; 12.1 Introduction; 12.2 The Instruction-Scheduling Problem; 12.3 List Scheduling; 12.4 Advanced Topics; 12.5 Summary and Perspective; Chapter Notes 12; 13. Register Allocation; 13.1 Introduction; 13.2 Background Issues
- 13.3 Local Register Allocation and Assignment
- Notes:
- Description based upon print version of record.
- ISBN:
- 1-281-01609-8
- 9786611016098
- 0-08-047267-2
- OCLC:
- 437177090
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.