1.
| [Theoretical foundation]
Understand the important theories, in particular, lexical and syntax analysis, and optimization that underpin the construction and operation of compilers and translators. |
2.
| [Compiler construction]
Understand the various phases of a compiler, and how they are integrated to produce a working compiler. |
3.
| [Compiler tools]
Be able to apply popular compiler generation tools in particular, Lex and Yacc (or their improved variants) to compiler construction, and be able to modify any given grammar to fit the requirements of these tools. |
4.
| [Compiler project]
Be able to work in a team to develop, test, and deliver a complete working compiler for a real or realistic target machine. |
Mapping from Course Learning Outcomes to Programme Learning Outcomes
| PLO a | PLO b | PLO c | PLO d | PLO e | PLO f | PLO g | PLO h | PLO i | PLO j |
CLO 1 | T | T | T | T | | | | | T | |
CLO 2 | T | T | T | T | | | | | T | |
CLO 3 | T | T | T | T | | | | | T | |
CLO 4 | T | T | T | T | T | | T | | T | |
T - Teach, P - Practice
For BEng(CompSc) Programme Learning Outcomes, please refer to
here.
|
Syllabus |
Calendar Entry:
Lexical analysis; symbol table management; parsing techniques; error detection; error recovery; error diagnostics; run-time memory management; optimization; code generation.
|
Detailed Description:
Theoretical Foundation of Compiling |
Mapped to CLOs
|
Lexical Analysis | 1 |
Parsing | 1 |
Compiler Design and Implementation |
Mapped to CLOs
|
Semantic Analysis | 2, 3, 4 |
Syntax-Directed Translation | 2, 3, 4 |
Error Recovery and Reporting | 2, 3, 4 |
Intermediate Representation | 2, 3, 4 |
Code Generation | 2, 3, 4 |
Code Optimization | 2, 3, 4 |
|
Assessment:
Continuous Assessment:
50% Written Examination:
50%
|
Teaching Plan |
Please refer to the corresponding Moodle course.
|
Moodle Course(s) |
|