This note will
develop a fundamental understanding of the issues that arise in program
translation, including syntax analysis, translation, and rudimentary program
optimization. Topics covered includes: The Compiler's Front End, Local Register
Allocation, Implementing Scanners, Lexical Analysis, Parsing, Intermediate
Representations and Code Shape.
This note covers the design and implementation of compiler and runtime systems for highlevel languages, and examines the interaction between language design, compiler design, and runtime organization. Topics covered includes, lexical and syntactic analysis, typechecking, program analysis, code generation and optimization, memory management, and runtime organization.