EECS322 Compiler