Recommended product

Popular links

Popular links


Modern Compiler Implementation in C

Modern Compiler Implementation in C

Modern Compiler Implementation in C

Andrew W. Appel , Princeton University, New Jersey
Maia Ginsburg
August 2013
This ISBN is for an eBook version which is distributed on our behalf by a third party.
Adobe eBook Reader
9781107266414

Looking for an inspection copy?

This title is not currently available for inspection.

$99.00
USD
Adobe eBook Reader
GBP
Paperback

    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.

    • Keeps up with the revolution in computer architecture since 1985, covering current techniques in instruction selection, code generation, register allocation
    • Excellent coverage of practical back-end code generation issues not available in most texts
    • Well designed implementation project, with chapter-by-chapter programming assignments, so the resulting 'student compiler' is simple but high-tech and modern
    • Uses the C programming language for exercises and examples
    • Four new chapters - Static Single-Assignment Form, Polymorphic Types, Pipelining and Scheduling, and the Memory Heirarchy
    • A new section on parsing with automatic syntax-error repair
    • Some sections of the Register Allocation and Canonical Trees chapters have been completely rewritten to improve the clarity of explanation
    • All chapters have more pencil-and-paper exercises and Further Reading sections

    Product details

    August 2013
    Adobe eBook Reader
    9781107266414
    0 pages
    0kg
    80 b/w illus. 34 tables 117 exercises
    This ISBN is for an eBook version which is distributed on our behalf by a third party.

    Table of Contents

    • 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.
      Author
    • Andrew W. Appel , Princeton University, New Jersey
    • Maia Ginsburg