Tiger in Stratego
An Experiment in Compilation by Transformation
Tiger in Stratego is a framework for implementing a compiler for the
Tiger language in the program transformation language
Stratego. The goal of the project is
to experiment with the use of program transformation techniques in the construction of compilers and other language processing tasks, and to illustrate these techniques in education.
The framework is used in two courses at Utrecht University:
In these courses
program transformation techniques are studied in the context of compilation and
generative programming.
The experiments have lead to a number of techniques for concise specification of program transformations.
The following publications use Tiger or components of the Tiger compiler as an example.
The framework is freely available for experimentation:
This web provides an overview of the compiler. The following pages provide different views of the compiler:
Usage