Compiler Construction: Fundamentals and Applications

Research output: BookMonograph

Abstract

This textbook covers the fundamentals of compiler construction, from lexical analysis and syntax analysis to semantic processing and code generation. As a running example, a compiler for a simple Java-like programming language (MicroJava) is described and developed. It generates executable bytecode similar to Java bytecode. Other topics include the description of translation processes using attributed grammars and the use of a compiler generator to automatically generate the core parts of a compiler. For syntax analysis, the book concentrates on top-down parsing using recursive descent, but also describes bottom-up parsing. All code examples are presented in Java. A companion web page contains a full set of PowerPoint slides for an introductory compiler course, sample solutions for more than 70 exercises provided at the end of each chapter to practice and reinforce the content of that chapter, and the full source code of the MicroJava compiler as well as other code samples. In addition, the open-source compiler generator Coco/R described in the book is provided as an executable and in source code. The book targets both students of Computer Science or related fields as well as practitioners who want to apply basic compiling techniques in their daily work, e.g., when crafting software tools. It can be used as a textbook for an introductory compiler course on which more advanced courses on compiler optimizations can be based.

Original languageEnglish
PublisherSpringer
Number of pages251
Edition1
ISBN (Electronic)978-3-031-84813-1
ISBN (Print)978-3-031-84812-4
DOIs
Publication statusPublished - 2025

Fields of science

  • 102 Computer Sciences
  • 102009 Computer simulation
  • 102013 Human-computer interaction
  • 102011 Formal languages
  • 102022 Software development
  • 102029 Practical computer science
  • 102024 Usability research

JKU Focus areas

  • Digital Transformation

Cite this