CMPS104A Compiler