Courses Offered

COMP3235 Compiling Techniques

COMP3235 Compiling Techniques

2022-23
Instructor(s):Lau Francis
(Class A) No. of credit(s):6
Recommended Learning Hours:
Lecture: 37.0
Tutorial: 2.0
Pre-requisite(s):COMP2119 or FITE2000
Co-requisite(s):  
Mutually exclusive with:  
Remarks:

Course Learning Outcomes

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 aPLO bPLO cPLO dPLO ePLO fPLO gPLO hPLO iPLO j
CLO 1TTTTT
CLO 2TTTTT
CLO 3TTTTT
CLO 4TTTTTTT

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
Parsing
Compiler Design and Implementation Mapped to CLOs
Semantic Analysis
Syntax-Directed Translation
Error Recovery and Reporting
Intermediate Representation
Code Generation
Code Optimization

Assessment:
Continuous Assessment: 50%
Written Examination: 50%

Teaching Plan

Please refer to the corresponding Moodle course.

Moodle Course(s)

Please login with your CS account (for staff only)