Cobre análise léxica, parsing, árvores sintáticas, verificação semântica, representação intermediária, otimização e geração de código. O projeto constrói um interpretador ou compilador pequeno.