Course Description
Modern compiler design, use of automatic tools, compilation techniques and program intermediate
representations; scanner, recursive descent parser, bottom-up parser, code generation and optimization; semantic analysis and attribute grammars, transformational attribute grammars.
Intended Learning Outcomes
CILO-1: An ability to interpret and apply the operation of the major phases of a compiler.
CILO-2: An ability to interpret and apply the theories behind the various phases, including regular expressions, context free grammars, and finite state automata.
CILO-3: An ability to apply the theoretical foundations that form the basis of compilation.
CILO-4: An ability to design and implement parts of a compiler for a small imperative-style programming language.
CILO-5: An ability to apply software engineering design principles on a medium size project.