6-part MiniJava compiler project for CS352