Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

This is an archived syllabus from 2013-2014

COMP36512 Compilers syllabus 2013-2014

COMP36512 Compilers

Level 3
Credits: 10
Enrolled students: 111

Course leader: Rizos Sakellariou


Additional staff: view all staff

Assessment methods

  • 100% Written exam
Timetable
SemesterEventLocationDayTimeGroup
Sem 2 Lecture 1.3 Mon 10:00 - 10:00 -
Sem 2 Lecture 1.3 Tue 11:00 - 11:00 -
Themes to which this unit belongs
  • Computer Languages

Overview

Any program written in any programming language must be translated before it can be executed on a certain piece of hardware. This translation is typically accomplished by a software system called compiler. This module aims to introduce students to the principles and techniques used to perform this translation and the key issues that arise in the construction of modern compilers.

Aims

Any program written in a programming language must be translated before it can be executed. This translation is typically accomplished by a software system called compiler. This module aims to introduce students to the principles and techniques used to perform this translation and the issues that arise in the construction of a compiler.

Syllabus

Introduction

What is a compiler? A high-level view of compilation. General structure of a compiler. An overview of compilation technology.

Lexical Analysis (Scanning)

Regular languages/expressions, finite state machines, building regular expressions from a finite automaton.

Syntax Analysis (Parsing)

Expressing Syntax, Context Free Grammars, Top-Down Parsing, Bottom-Up parsing.

Semantic Analysis

Context-sensitive analysis, Attribute Grammars, Symbol Tables, Type Checking.

Intermediate Representations

Properties, taxonomy, Graphical IRs, Linear IRs.

Storage Management

The Procedure Abstraction, Linkage convention, Run-time storage organisation.

Code Generation

Code Shape, Instruction Selection, Register Allocation, Instruction Scheduling.

Topics in Compiler Construction

Code Optimisation, JIT Compilation.

Conclusions

Teaching methods

Lectures

22

Feedback methods

Written feedback is provided on student solutions of a set of problems which are commonly met when designing and building compilers.

Study hours

  • Lectures (24 hours)

Employability skills

  • Analytical skills
  • Problem solving
  • Research

Learning outcomes

On successful completion of this unit, a student will be able to:

Learning outcomes are detailed on the COMP36512 course unit syllabus page on the School of Computer Science's website for current students.

Reading list

No reading list found for COMP36512.

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.