Temele constau in implementarea graduala a unui compilator pentru limbajul COOL care genereaza cod pentru arhitectura MIPS. Tema 3 contine varianta finala a compilatorului care genereaza cod complet functional. Etapele de implementare au fost:
- Tema 0 - Implementarea listelor in limbajul COOL
- Tema 1 - Analiza lexicala si sintactica (ANTLR4 + Java)
- Tema 2 - Analiza semantica (Java)
- Tema 3 - Generare de cod (StringTemplate + Java)
Codul generat poate fi testat in simulatorul de cod MIPS QtSpim (este nevoie de asemenea si de runtime-ul limbajului COOL).