The assignment for the course is to implement a compiler for the TigerLanguage in the Stratego.StrategoLanguage. The CompilerArchitecture explains the overall structure of the TigerCompiler and shows which components (the red ones) should be implemented for the project; the other components are provided to you. *Complete Compiler* As the final result of the project you should produce a working compiler that minimally translates all example programs to correct and working MIPS code. Preferably the compiler should implement several optimizations. Which optimizations in which phase of the compiler you implement is subject to negotiation. *Report* The implementation should be described in a report. The report should give a global overview of the implementation and explain its details. *Project Planning* * make the compiler working for programs without functions * incorporate function definitions an function calls * add optimizers * HpcAssignments are intended to help you plan your work