Module 02578 (2001)
Syllabus page 2001/2002
06-02578
Compilers & Languages
Level 3/H
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
Outline
The course 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 |
| 2 | know the formalisms and apply the techniques that are used in compiler construction | Examination |
Restrictions, Prerequisites and Corequisites
Restrictions:
None
Prerequisites:
None
Co-requisites:
06-02552 (Principles of Programming Languages) would be helpful
Teaching
Teaching Methods:
2 hrs/week
Contact Hours:
Assessment
- Supplementary (where allowed): As the sessional assessment
- 2 hr examination (100%).
Recommended Books
| Title | Author(s) | Publisher, Date |
| Modern Compiler Design | Dick Grune, Henri E. Bal, Ceriel J.H. Jacobs and Koen Langendoen | 2000 |
Detailed Syllabus
- Introduction: phases of compilation
- Lexical analysis and regular expressions
- Parsing:
- Context-free grammars
- Top-down parsing
- Bottom-up parsing
- Attribute Grammars
- Intermediate code
- Memory management
- Memory management with explict deallocation
- Garbage collection
- Compiling imperative programs
- Context handling
- Data representation
- Procedures and activation records
- Control flow
Last updated: 18 December 2001
Source file: /internal/modules/COMSCI/2001/xml/02578.xml
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus