Modern compiler implementation in C / Andrew W. Appel with Maia Ginsburg.
By: Appel, Andrew W.
Contributor(s): Ginsburg, Maia.
Material type: BookPublisher: Cambridge ; New York : Cambridge University Press, 1998Description: x, 544 p. : ill. ; 24 cm.ISBN: 052158390X.Subject(s): C++ (Computer program language) | Compilers (Computer programs)DDC classification: 005.453Item type | Current library | Call number | Copy number | Status | Date due | Barcode | Item holds |
---|---|---|---|---|---|---|---|
General Lending | MTU Bishopstown Library Lending | 005.453 (Browse shelf(Opens below)) | 1 | Available | 00074751 |
Enhanced descriptions from Syndetics:
This new, expanded textbook describes all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It includes good coverage of current techniques in code generation and register allocation, as well as functional and object-oriented languages, that are missing from most books. In addition, more advanced chapters are now included so that it can be used as the basis for a two-semester or graduate course. The most accepted and successful techniques are described in a concise way, rather than as an exhaustive catalog of every possible variant. Detailed descriptions of the interfaces between modules of a compiler are illustrated with actual C header files. The first part of the book, Fundamentals of Compilation, is suitable for a one-semester first course in compiler design. The second part, Advanced Topics, which includes the advanced chapters, covers the compilation of object-oriented and functional languages, garbage collection, loop optimizations, SSA form, loop scheduling, and optimization for cache-memory hierarchies.
Bibliography: (pages 528-536) and index.
Part I: Fundamentals of Compilation -- Introduction -- Lexical Analysis -- Parsing -- Abstract Syntax -- Semantic Analysis -- Activation Records -- Translation to Intermediate Code -- Basic Blocks and Traces -- Instruction Selection -- Liveness Analysis -- Register Allocation -- Putting it all together -- Part II: Advanced Topics -- Garbage Collection -- Object-Oriented Languages -- Functional Programming Languages -- Polymorphic Types -- Dataflow Analysis -- Loop Optimizations -- Static Single-Assignment Form -- Pipelining and Scheduling -- The memory hierarchy.
Table of contents provided by Syndetics
- Part I Fundamentals of Compilation
- 1 Introduction
- 2 Lexical analysis
- 3 Parsing
- 4 Abstract syntax
- 5 Semantic analysis
- 6 Activation records
- 7 Translation to intermediate code
- 8 Basic blocks and traces
- 9 Instruction selection
- 10 Liveness analysis
- 11 Register allocation
- 12 Putting it all together
- Part II Advanced Topics
- 13 Garbage collection
- 14 Object-oriented languages
- 15 Functional programming languages
- 16 Polymorphic types
- 17 Dataflow analysis
- 18 Loop optimizations
- 19 Static single-assignment form
- 20 Pipelining and scheduling
- 21 The memory hierarchy; Appendix