School of Computer Science

Module 06-02578 (2010)

Compilers & Languages

Level 3/H

Alan Sexton Semester 2 10 credits
Co-ordinator: Alan Sexton
Reviewer: Hayo Thielecke

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


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:

  • explain and apply the formalisms used in compiler construction, such as context-free grammars
  • perform the main analyses and transformations used in compilation

Taught with

  • 06-15255 - Compilers & Languages (Extended)

Teaching methods

2 hrs/week


  • Sessional: 1.5 hr examination (80%), continuous assessment (20%).
  • Supplementary: 1.5 hr examination (100%).

Detailed Syllabus

  1. Introduction: phases of compilation
  2. Parsing
    • Context-free grammars
    • Top-down parsing
    • Bottom-up parsing
  3. Compiler construction tools
  4. Data flow analysis
  5. Code generation
  6. Call stack and stack frames
    • Contents and layout of stack frames
    • Static link and pointers into the stack
  7. Compilation of objects and classes
  8. Memory management
    • Memory management with explicit deallocation
    • Garbage collection
    • Copying garbage collection

Programmes containing this module