Module 02578 (2011)

Syllabus page 2011/2012

06-02578
Compilers & Languages

Level 3/H

Alan Sexton
10 credits in Semester 2

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus


The Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)

Relevant Links

Module Web Page


Outline

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.


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: Assessed by:
1 explain and apply the formalisms used in compiler construction, such as context-free grammars Examination, continuous assessment
2 perform the main analyses and transformations used in compilation Examination, continuous assessment

Restrictions, Prerequisites and Corequisites

Restrictions:

May not be taken by anyone who has taken or is taking 06-15255 (Compilers & Languages (Extended)).

Prerequisites:

None

Co-requisites:

None


Teaching

Teaching Methods:

2 hrs/week

Contact Hours:

24


Assessment

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

Recommended Books

TitleAuthor(s)Publisher, Date
Modern Compiler Implementation in JavaAndrew W. Appel, Jens Palsberg2002

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

Last updated: 02 Sep 2010

Source file: /internal/modules/COMSCI/2011/xml/02578.xml

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus