Overview of compiler construction principles from lexical/syntax analysis to code generation and optimization.