School of Computer Science

Module 06-15255 (2013)

Compilers & Languages (Extended)

Level 4/M

Alan Sexton Semester 1 10 credits
Co-ordinator: Alan Sexton
Reviewer: Richard Dearden

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

Outline


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:

  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


Restrictions


Cannot be taken with


Teaching methods

2 hrs/week

Contact Hours:

23


Assessment

  • 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. Introduction: phases of compilation

  2. Parsing

  • Context-free grammars
  • Top-down parsing
  • Bottom-up parsing
  1. Compiler construction tools

  2. Data flow analysis

  3. Code generation

  4. Call stack and stack frames

  • Contents and layout of stack frames
  • Static link and pointers into the stack
  1. Compilation of objects and classes

  2. Memory management

  • Memory management with explicit deallocation
  • Garbage collection
  • Copying garbage collection

Programmes containing this module