Apress

Introduction to Compiler Design

By Torben Ægidius Mogensen

Introduction to Compiler Design Cover Image

This textbook is intended for an introductory course on Compiler Design, suitable for use in an undergraduate programme in computer science or related fields. The text presents techniques for making realistic, though non-optimizing, compilers for simple programming languages.

Full Description

  • ISBN13: 978-0-8572-9828-7
  • 225 Pages
  • User Level: Students
  • Publication Date: August 2, 2011
  • Available eBook Formats: PDF
  • eBook Price: $39.95
Buy eBook Buy Print Book Add to Wishlist
Full Description
This textbook is intended for an introductory course on Compiler Design, suitable for use in an undergraduate programme in computer science or related fields.Introduction to Compiler Design presents techniques for making realistic, though non-optimizing compilers for simple programming languages using methods that are close to those used in 'real' compilers, albeit slightly simplified in places for presentation purposes.  All phases required for translating a high-level language to machine language is covered, including lexing, parsing, intermediate-code generation, machine-code generation and register allocation.  Interpretation is covered briefly.Aiming to be neutral with respect to implementation languages, algorithms are presented in pseudo-code rather than in any specific programming language, and suggestions for implementation in several different language flavors are in many cases given.  The techniques are illustrated with examples and exercises.The author has taught Compiler Design at the University of Copenhagen for over a decade, and the book is based on material used in the undergraduate Compiler Design course there.Additional material for use with this book, including solutions toselected exercises, is available at http://www.diku.dk/~torbenm/ICD 
Table of Contents

Table of Contents

  1. Lexical Analysis.
  2. Syntax Analysis.
  3. Scopes and Symbol Tables.
  4. Interpretation.
  5. Type Checking.
  6. Intermediate
  7. Code Generation.
  8. Register Allocation.
  9. Functions.
  10. Set Notation and Concepts.
Errata

If you think that you've found an error in this book, please let us know about it. You will find any confirmed erratum below, so you can check if your concern has already been addressed.

* Required Fields

No errata are currently published