Final project for CMPUT 415: PAL compiler