Compiler Design, Compiler Development, Lexical Analysis, Parsing, Code Generation, Abstract Syntax Trees