Eine Fallstudie über die Verwendung eines AST-basierten MicroJava Compilers in Compilerbaubildung

Sarah Gastner · University Library Linz repository (Johannes Kepler Universitat Linz) · 2026

Compiler construction is a fundamental part of computer science education, requiring students to apply concepts from formal languages, algorithms, data structures and hardware architectures. At Johannes Kepler University (JKU), compiler construction is taught using MicroJava, a simplified educational version of the Java programming language. A compiler construction course should teach students the fundamental concepts of modern compiler pipelines, including parsing, intermediate representations, and optimizations, in easily comprehensible lectures. However, the existing curriculum at JKU relies on a single-pass compiler architecture, whereas most contemporary real-world compilers utilize multi-pass architectures and Intermediate Representations (IRs), such as Abstract Syntax Trees (ASTs). Therefore, this thesis presents a case study on adapting the compiler construction course to use an AST-based, multi-pass compiler. As part of the curriculum overhaul, we implemented a multi-pass MicroJava compiler and comparatively evaluated our new compiler against the existing single-pass compiler. Additionally, we created a framework to easily write new unit tests to test the structure of the AST. Furthermore, we designed teaching concepts and materials centered around AST visualization. The integration of an AST-based architecture modularizes the compilation process, enabling educators to divide the curriculum into more tangible, easily testable steps. Ultimately, the modernization of the compiler construction course enhances student comprehension, demonstrates a clearer separation of concerns, and establishes a seamless foundation for integrating advanced compiler construction topics, such as optimizations, into the curriculum.

Read the paper · More papers on PaperTik