Compiler DesignModule Details
Module/Course Description
Course Title: Compiler Design
Course Code: UU-COM-4003
Credits: 12.00
Course Description:
Objectives of the Course:
• present and explain the compilation phases
• discuss the application of regular expressions in lexical scanners
• discuss parsing (concrete and abstract syntax, abstract syntax trees) and application of context-free grammars in recursive-descent parsing and bottom-up parsing
• discuss declarations and types
• provide student with knowledge on run-time environments, intermediate code representations and code generation principles
• experiment with the design and implementation of a compiler for a small language
Learning Outcomes:
1. demonstrate the various stages of the basic language translation process (lexical, parsing, code generation, optimization) and machine-dependent vs. machineindependent aspect of translation
2. recognize the underlying formal models such as finite state automata and their connection to language definition through regular expressions and grammars
3. use parsing techniques, including LL(1) and LR parsers
4. translate statements into three-address code
5. identify the properties of a variable and discuss type incompatibility
6. differentiate static vs. dynamic storage allocation and the usage of activation records to manage program modules and their data
7. produce a semantically equivalent target program, given an intermediate representation, along with symbol table information,
8. design and implement a simple language translator using automated tools, such lexical and parser generators lexx/yacc
Prerequisites: UU-ACG-1000, UU-MKT-2000, UU-MAN-2010, UU-BBA-2000, UU-ENG-1000, UU-ENG-1001, UU-ENG-1005, UU-COM-1000, UU-MTH-1000, UU-MTH-1005, UU-MTH-2000, UU-MTH-3000, UU-COM-1100, UU-COM-1101, UU-COM-2004, UU-COM-2000, UU-COM-2001, UU-COM-2002, UU-COM-2003, UU-COM-3000, UU-COM-3002, UU-COM-3003, UU-COM-3004, UU-COM-3005, UU-COM-4004, UU-COM-4008, UU-COM-4009, UU-COM-4010, UU-BA-IND100, UU-FNT-103, UU-BBA-2010-BCS, UU-BBA-1000-BCS
Prerequisites Categories: -
Typical Module duration: 4.0 Week(s)