School of Computer Science

Module 06-15255 (2010)

Compilers & Languages (Extended)

Level 4/M

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

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

Aims

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
  • use compiler construction tools, such as parser generators

Taught with


Teaching methods

2 hrs/week


Assessment

  • Sessional: 1.5 hr examination (60%), class tests (20%), mini-project (20%).
  • Supplementary: 1.5 hr examination (80%), mini-project (20%).

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