Hpc Project

Tiger in Stratego -- Compilation by Program Transformation
Implement a compiler for the TigerLanguage in the StrategoLanguage?.

The compiler should consist of the following basic components:

  • Parser (given)
  • Typechecker (given)
  • Translation to intermediate representation
  • Canonicalization of intermediate representation
  • Instruction selection
  • Liveness analysis
  • Register allocation

This basic TigerCompiler should be extended with one of the following:

  • PureFun-Tiger with optimizations
  • Garbage collection
  • Loop optimization
  • Object-Tiger
  • (Pipelining)

The implementation should be described in a report. The report should give a global overview of the implementation and explain its details. The report should be handed in together with the working source code.