term project for Compiler construction class