Lexical and syntax analysis. Top-down and bottom-up parsing. Syntax-directed definition, semantics, and code generation.