Lexical analysis, syntactic analysis, type checking, and code generation. Introduction to optimization.