Recommended product

Popular links

Popular links


Modern Compiler Implementation in Java

Modern Compiler Implementation in Java

Modern Compiler Implementation in Java

2nd Edition
Andrew W. Appel , Princeton University, New Jersey
Jens Palsberg , Purdue University, Indiana
October 2002
Available
Hardback
9780521820608
$110.00
USD
Hardback
USD
eBook

    This textbook describes all phases of a 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 thorough coverage of current techniques in code generation and register allocation, and the compilation of functional and object-oriented languages. The most accepted and successful techniques are described and illustrated with actual Java^TM® classes. The first part is suitable for a one-semester first course in compiler design. The second part; which includes the compilation of object-oriented and functional languages, garbage collection, loop optimization, SSA form, instruction scheduling, and optimization for cache-memory hierarchies; can be used for a second-semester or graduate course. This new edition includes more discussion of Java and object-oriented programming concepts such as visitor patterns plus a new Mini-Java programming project. A unique feature is the newly redesigned compiler project in Java for a subset of Java itself. The project includes both front-end and back-end phases.

    • The new edition features a newly designed, easy-to-use software project in Java for a subset of Java itself
    • Expanded coverage of object-oriented concepts; also includes coverage of imperative and functional languages
    • Keeps up with the revolution in computer architecture since 1985, including practical back-end issues not available in most texts, with current techniques in instruction selection, code generation and register allocation

    Reviews & endorsements

    "...fit[s] comfortably and usefully between cookbooks and encyclopedias on compilation...suitable for self-study." Computing Reviews

    "A well-written book, which strictly adheres to a no-nonsense style." Computing Reviews

    See more reviews

    Product details

    October 2002
    Hardback
    9780521820608
    512 pages
    257 × 208 × 33 mm
    1.051kg
    80 b/w illus. 35 tables 135 exercises
    Available

    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: Mini-Java reference manual.
    Resources for
    Type
    Sample Code – Grammar
    Size: 16.52 KB
    Type: application/pdf
    Minijava Solution Set
    MiniJava Project
      Author
    • Andrew W. Appel , Princeton University, New Jersey
    • Jens Palsberg , Purdue University, Indiana