Theory and practice of programming language translation. Languages, grammars and parsing. Lexical, syntactic and semantic analysis. Compile-time error handling. Code optimization and code generation.