Module 02578 (2003)

Syllabus page 2003/2004

06-02578
Compilers & Languages

Level 3/H

Hayo Thielecke
10 credits in Semester 1

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 home page


Outline

The module describes the structure of a typical compiler. The phases of compilation, from lexical analysis to code generation and simple optimisation, and the main techniques used in each phase will be covered. Some modern developments will be discussed.


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 appreciate the problems faced by the compiler in the various phases of compilation Examination and continuous assessment
2 know the formalisms and apply the techniques that are used in compiler construction Examination and continuous assessment

Restrictions, Prerequisites and Corequisites

Restrictions:

None

Prerequisites:

06-05934 (Models of Computation)

Co-requisites:

None


Teaching

Teaching Methods:

2 hrs/week

Contact Hours:

24


Assessment

  • Supplementary (where allowed): As the sessional assessment
  • 2 hr examination (80%), continuous assessment (20%). Resit (where allowed) by examination only with the test results carried forward.

Recommended Books

TitleAuthor(s)Publisher, Date
Modern Compiler DesignDick Grune, Henri E. Bal, Ceriel J.H. Jacobs and Koen Langendoen2000

Detailed Syllabus

  1. Introduction: phases of compilation
  2. Lexical analysis and regular expressions
  3. Parsing:
    • Context-free grammars
    • Top-down parsing
    • Bottom-up parsing
  4. Compiler construction tools
  5. Attribute Grammars
  6. Data flow analysis
  7. Code generation
  8. Memory management
    • Memory management with explicit deallocation
    • Garbage collection
  9. Procedure call and stack frames

Last updated: 25 June 2003

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

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