Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


Modern Compiler Implementation in ML

Modern Compiler Implementation in ML

Modern Compiler Implementation in ML

Basic Techniques
Andrew W. Appel, Princeton University, New Jersey
No date available
Hardback
9780521582759
Hardback

    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. 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 the modules of a compiler are illustrated with actual ML signatures. A unique feature of the book is a well-designed compiler implementation project in ML, 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 software is available.

    • Covers current computer architecture, techniques in instruction selection, code generation, register allocation
    • Covers imperative, functional, and object-oriented languages
    • Covers practical 'back-end' code generation issues not available in most texts
    • Well-designed implementation project, with chapter-by-chapter programming assignments. Resulting 'student compiler' is simple but high-tech and modern
    • Uses the ML programming language for exercises and examples

    Product details

    No date available
    Hardback
    9780521582759
    400 pages
    243 × 193 × 26 mm
    0.92kg
    45 b/w illus. 34 tables 100 exercises

    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. Dataflow analysis
    • 17. Loop optimizations
    • Appendix: Tiger language reference manual.