Compiler Construction Algorithms