Course Description
Design of compilers for block-structured general-purpose programming languages. Automatic generation of lexical analyzers and parsers. Error detection and correction. Code optimization.
Intended Learning Outcomes
CILO-1: Apply theoretical foundations of compiler construction, including finite-state automata, regular expressions, and context-free grammar.
CILO-2: Analyse and develop syntactic analysis techniques, such as recursive-descent parsing and intermediate representation.
CILO-3: Design and implement contextual analysis algorithms for identification, type, and scope checking.
CILO-4: Develop and implement code generation algorithms for code templates, manipulation of constants and variables, and procedures and functions.
CILO-5: Demonstrate proficiency in interpreting and debugging compiler output and applying code optimization techniques.