CSC 580: Compiler Construction