A Practical Approach to Compiler Construction

  • Des Watson

Part of the Undergraduate Topics in Computer Science book series (UTICS)

Table of contents

  1. Front Matter
    Pages i-xv
  2. Des Watson
    Pages 1-12
  3. Des Watson
    Pages 13-36
  4. Des Watson
    Pages 37-73
  5. Des Watson
    Pages 75-93
  6. Des Watson
    Pages 95-139
  7. Des Watson
    Pages 141-175
  8. Des Watson
    Pages 177-203
  9. Des Watson
    Pages 205-234
  10. Des Watson
    Pages 235-245
  11. Back Matter
    Pages 247-254

About this book


This book provides a practically-oriented introduction to high-level programming language implementation. It demystifies what goes on within a compiler and stimulates the reader's interest in compiler design, an essential subject of computer science. Programming language analysis and translation techniques are used in many software application areas. 

A Practical Approach to Compiler Construction covers the fundamental principles of the subject in an accessible way. It presents the necessary background theory and shows how how it can be applied to implement complete compilers. A step-by-step approach, based on a standard compiler structure is adopted, presenting up-to-date techniques and examples. Strategies and designs are described in detail to guide the reader in implementing a translator for a programming language.

A simple high-level language, loosely based on C, is used to illustrate aspects of the compilation process. Code examples in C are included, together with discussion and illustration of how this code can be extended to cover the compilation of more complex languages. Examples are also given of the use of the flex and bison compiler construction tools. Lexical and syntax analysis is covered in detail together with a comprehensive coverage of semantic analysis, intermediate representations, optimisation and code generation. Introductory material on parallelisation is also included. 

Designed for personal study as well as for use in introductory undergraduate and postgraduate courses in compiler design, the author assumes that readers have a reasonable competence in programming in any high-level language.



Code Generation Compiler Construction Interpreters Programming Language Implementation Syntax Analysis

Authors and affiliations

  • Des Watson
    • 1
  1. 1.Department of InformaticsSussex UniversityBrightonUnited Kingdom

Bibliographic information