Christmas Posting Dates
Modern Compiler Implementation in ML: Basic Techniques

Modern Compiler Implementation in ML: Basic Techniques

Hardback

By (author) Andrew W. Appel

List price $86.16

Unavailable - AbeBooks may have this title.

  • Publisher: CAMBRIDGE UNIVERSITY PRESS
  • Format: Hardback | 400 pages
  • Dimensions: 187mm x 228mm x 26mm | 920g
  • Publication date: 1 February 1997
  • Publication City/Country: Cambridge
  • ISBN 10: 052158275X
  • ISBN 13: 9780521582759
  • Illustrations note: 45 b/w illus. 34 tables 100 exercises

Product description

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.

Other people who viewed this bought:

Showing items 1 to 10 of 10

Other books in this category

Showing items 1 to 11 of 11
Categories:

Review quote

"The book's layout is compact and neat, the typography clear and direct." R. Clayton, Computing Reviews

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.