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 aspect 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 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.