This book provides a practically-oriented introduction to high-level programming language implementation.
He also works with commercial organisations, particularly in the field of Compiler optimisation of code for embedded systems..
He has extensive experience in research and both undergraduate and postgraduate teaching in programming language design and implementation at the University of Sussex, UK.
About the Author Des Watson works in the field of Compiler design and development.
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.
Introductory material on parallelisation is also included.
Lexical and syntax analysis is covered in detail together with a comprehensive coverage of semantic analysis, intermediate representations, optimisation and code generation.
Examples are also given of the use of the flex and bison Compiler Construction tools.
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.
A simple high-level language, loosely based on C, is used to illustrate aspects of the compilation process.
Strategies and designs are described in detail to guide the reader in implementing a translator for a programming language.
A step-by-step approach, based on a standard Compiler structure is adopted, presenting up-to-date techniques and examples.
It presents the necessary background theory and shows how it can be applied to implement complete compilers.
A Practical Approach to Compiler Construction covers the fundamental principles of the subject in an accessible way.
Programming language analysis and translation techniques are used in many software application areas.
It demystifies what goes on within a Compiler and stimulates the reader\'s interest in Compiler design, an essential aspect of computer science.
This book provides a practically-oriented introduction to high-level programming language implementation