You are here: Home Tutorial
Document Actions

Tutorial

This tutorial gives an introduction to the JastAdd system and the JastAdd Extensible Java Compiler.

Annotated slides for the tutorial are available in [pdf] and [powerpoint]

Introduction

We first give an overview of the design principles and mechanisms used in JastAdd.

[Slides]

Tiny State Transition Diagram Language

We give a hands-on tutorial of the system by creating a tiny domain-specific language from scratch. Unzip the boilerplate archive below and build the project using the build.xml Apache Ant file in Lang.

> ant

You can run the minimal compiler through the following command line:

> java Lang Lang.test

The program should print the message: Hello. The complete implementation of the compiler is available in the sample solution.

[Slides] [Boilerplate code] [Sample solution]

Java 1.4 Frontend Extension

JastAddJ is a complete Java 5 compiler implemented as a Java 1.4 compiler with Java 5 as modular language extensions. We show how the Java 1.4 compiler can be extended in a modular fashion with support for the Enhanced For Statement as introduced in Java 5. If you are would like to extend the complete Java 5 compiler you may use the boilerplate code available here.

[Slides] [Boilerplate code] [Sample solution]

Where to go from here

Finally we give an overview of available infrastructure and extensions that can be helpful when building your own compilers.