My Account Log in

1 option

Engineering a compiler / Keith D. Cooper and Linda Torczon.

EBSCOhost Academic eBook Collection (North America) Available online

View online
Format:
Book
Author/Creator:
Cooper, Keith D. (Keith Daniel)
Contributor:
Torczon, Linda.
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.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account