Compiler Design: Syntactic and Semantic Analysis

  • 4h 6m
  • Helmut Seidl, Reinhard Wilhelm, Sebastian Hack
  • Springer
  • 2013

While compilers for high-level programming languages are large complex software systems, they have particular characteristics that differentiate them from other software systems. Their functionality is almost completely well-defined – ideally there exist complete precise descriptions of the source and target languages. Additional descriptions of the interfaces to the operating system, programming system and programming environment, and to other compilers and libraries are often available.

This book deals with the analysis phase of translators for programming languages. It describes lexical, syntactic and semantic analysis, specification mechanisms for these tasks from the theory of formal languages, and methods for automatic generation based on the theory of automata. The authors present a conceptual translation structure, i.e., a division into a set of modules, which transform an input program into a sequence of steps in a machine program, and they then describe the interfaces between the modules. Finally, the structures of real translators are outlined. The book contains the necessary theory and advice for implementation.

This book is intended for students of computer science. The book is supported throughout with examples, exercises and program fragments.

About the Authors

The authors are among the established experts on compiler construction, with decades of related teaching experience.

Prof. Dr. Reinhard Wilhelm is the head of the Compiler Design Lab of the Universität des Saarlandes, and his main research interests include compiler construction.

Prof. Dr. Helmut Seidl heads the Institut für Informatik of the Technische Universität München, and his main research interests include automatic program analysis and the design and implementation of programming languages.

Dr. Sebastian Hack is a Junior Professor in the Computer Science Programming Group of the Universität des Saarlandes, and his main research areas include compilers and code generation.

In this Book

  • The Structure of Compilers
  • Lexical Analysis
  • Syntactic Analysis
  • Semantic Analysis