School of Computer Science

Module 06-15255 (2019)

Compilers & Languages (Extended)

Level 4/M

Dan Ghica Semester 2 10 credits
Co-ordinator: Dan Ghica
Reviewer: Dan Ghica

The Module Description is a strict subset of this Syllabus Page.


The module describes the structure of a typical compiler. The phases of compilation, from the front end to analysis and code generation, as well as the main techniques used in each phase will be covered.


The aims of this module are to:

  • Give an overview of issues and techniques in compilation of high-level programming languages

Learning Outcomes

On successful completion of this module, the student should be able to:

  1. Explain and apply the formalisms used in compiler construction, such as context-free grammars
  2. Perform the main analyses and transformations used in compilation
  3. Use compiler construction tools, such as parser generators


May not be taken by students who have already completed or are currently registered for LH non-extended version

Taught with

Cannot be taken with

Teaching methods

2 hrs/week

Contact Hours:



Sessional: 1.5 hr examination (60%), continuous assessment (class tests) (20%), continuous assessment (mini-project) (20%).

Supplementary (where allowed): 1.5 hr examination (80%), continuous assessment (mini-project) (20%).

Detailed Syllabus

  1. Parsing: LL and LR
  2. Function calls and stack frames
  3. Compiling functional languages
  4. Type checking

Programmes containing this module