Normal view MARC view ISBD view

Modern compiler implementation in Java : basic techniques / Andrew W. Appel

Main Author Appel, Andrew W., 1960- Country Reino Unido. Publication Cambridge : Cambridge University Press, 1997 Description X, 398 p. : il. ; 24 cm ISBN 0-521-58654-2 CDU 519.682
Tags from this library: No tags from this library for this title. Log in to add tags.
    average rating: 0.0 (0 votes)
Item type Current location Call number Status Date due Barcode Item holds Course reserves
Monografia Biblioteca Geral da Universidade do Minho
BGUM 519.682 - A Available 190964

Licenciatura em Ciências da Computação Processamento de Linguagens e Compiladores 1º semestre

Mestrado Integrado em Engenharia Informática Processamento de Linguagens 2º semestre

Mestrado Integrado em Engenharia Física Processamento de Linguagens e Compiladores 1º semestre

Total holds: 0

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 on the topic. 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 Java classes. A unique feature of the book is a well designed compiler implementation project in Java, 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.

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

There are no comments for this item.

Log in to your account to post a comment.