Modern compiler implementation in C : basic techniques / Andrew W. Appel and Maia Ginsburg.
By: Appel, Andrew W
.
Contributor(s): Ginsburg, Maia
.
Material type:
BookDescription: x, 398 p. ; 24 cm.ISBN: 0521586534 ; 0521583896 .Subject(s): C (Computer program language)| Item type | Current library | Call number | Copy number | Status | Barcode | |
|---|---|---|---|---|---|---|
| General lending | MTU Bishopstown Library Lending | 005.453 (Browse shelf(Opens below)) | 1 | Available | 00015393 |
Enhanced descriptions from Syndetics:
This textbook explains all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-colouring register allocation with coalescing, and runtime systems. It covers current techniques in code generation and register allocation, as well as functional and object-oriented languages, which are missing from most books. The author illustrates the most accepted and successful techniques in a concise way, rather than as an exhaustive catalogue of every possible variant. Detailed descriptions of the interfaces between modules of a compiler are illustrated with actual C header files. A unique feature of the book is a well-designed compiler implementation project in C, including front-end and 'high-tech' back-end phases, so that students can build a complete working compiler in one semester. The textbook is meant for use in a one-semester first course for undergraduates in compiler design. Accompanying support software is available.
Bibliography: (pages 389-392) 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 -- Dataflow Analysis -- Loop Optimizations.
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 Dataflow analysis
- 17 Loop optimizations
- Appendix: Tiger language reference manual