Module 06-02578 (2011)
Compilers & Languages
Level 3/H
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
Taught with
- 06-15255 - Compilers & Languages (Extended)
Teaching methods
2 hrs/week
Assessment
- Sessional: 1.5 hr examination (80%), continuous assessment (20%).
- Supplementary: 1.5 hr examination (100%).
Detailed Syllabus
- Introduction: phases of compilation
- Parsing
- Context-free grammars
- Top-down parsing
- Bottom-up parsing
- Compiler construction tools
- Data flow analysis
- Code generation
- Call stack and stack frames
- Contents and layout of stack frames
- Static link and pointers into the stack
- Compilation of objects and classes
- Memory management
- Memory management with explicit deallocation
- Garbage collection
- Copying garbage collection
Programmes containing this module
- BSc Artificial Intelligence & Computer Science [0144]
- BSc Artificial Intelligence & Computer Science [9502]
- BSc Computer Science [4436]
- BSc Computer Science with an Industrial Year [9499]
- BSc Computer Science with Business Management [5914]
- BSc Computer Science with Business Management with an Industrial Year [9503]
- BSc Computer Science with Study Abroad [5571]
- BSc Mathematics and Computer Science [5196]
- BSc Mathematics and Computer Science with an Industrial Year [9495]
- BSc Pure Mathematics and Computer Science [5249]
- BSc Pure Mathematics and Computer Science with an Industrial Year [9497]
- MEng Computer Science/Software Engineering [4754]
- MEng Computer Science/Software Engineering with an Industrial Year [9501]
- MSci Mathematics and Computer Science [5197]
- MSci Pure Mathematics and Computer Science [5256]