
A compiler for a Pascal-like language, written in Java, that takes source code all the way down to MIPS assembly. It runs the three stages a compiler is usually built from: a scanner turning characters into tokens, a recursive descent parser assembling those tokens into an abstract syntax tree, and a code generator walking that tree to emit assembly with its own register allocation and stack handling. No parser generator and no compiler framework, so the entire path from text to machine instructions is code I wrote.