Courses Catalogue

Compiler Construction

ACADEMIC PROGRAMME: Computer Science, B.Sc
COLLEGE/SCHOOL/FACULTY: School of Mathematics and Computing
STATUS: Elective
PROGRAMME TYPE: Undergraduate

Course Description

Course Description

Introduces the theory and practice of programming language translation. Topics include compiler design, lexical analysis, parsing, symbol tables, declaration and storage management, code generation, and optimization techniques.



1.      The aim of this Course is to show how to apply the theory of language translation introduced in the prerequisite courses to build compilers and interpreters.

2.      It covers the building of translators both from scratch and using compiler generators. In the process, the Course also identifies and explores the main issues of the design of translators.

3.      The construction of a compiler/interpreter for a small language is a necessary component of this Course, so students can obtain the necessary skills.  

4.      Discuss the effectiveness of optimization techniques.

5.      Explain the impact of a separate compilation facility and the existence of program libraries on the compilation process.

6.  Explain the concept of an abstract data type, and recognize the importance of typing for abstraction and safety.