This is the PA3 for Compiler Theory