G53CMP Lecture Note Index

Autumn 2015

This page will contain links to all electronic material used during the lectures, in particular electronic slides and any major pieces of code. The slides are all in PDF, and there are three versions available for each lecture. The basic version is intended for on-screen viewing only, whereas the 4-up and 9-up versions are mainly intended for printing, putting 4 and 9 slides respectively on each page. (The format of any slides for guest lectures, however, could be different.)


Lecture 1: Administrative Details and Introduction

29 September 2015


Lectures 2: A Complete (Albeit Small) Compiler

2 October 2015


Lecture 3: Defining Programming Languages

6 October 2015


Lecture 4: Syntactic Analysis: Bottom-Up Parsing

9 October 2015


Lecture 5: Syntactic Analysis: Parser Generators

13 October 2015


Lecture 6: Contextual Analysis: Scope I

16 October 2015


Lecture 7: Contextual Analysis: Scope II

20 October 2015


Lecture 8: A Versatile Design Pattern: Monads

23 October 2015


Lecture 9: Contextual Analysis: Types and Type Systems I

27 October 2015


Lecture 10: Contextual Analysis: Types and Type Systems II

30 October 2015


Lecture 11: Contextual Analysis: Implementing A Type Checker

3 November 2015


Lecture 12: Code Generation I

6 November 2015


Lecture 13 & 14: Code Generation II

10 & 17 November 2015


Lecture 15: Run-Time Organisation I

20 November 2015


Lecture 16: Run Time Organisation II

24 November 2015


Lecture 17: Code Optimization

27 November 2015


Lecture 18 & 19: Register Allocation

1 & 4 December 2015


Lecture 20: LLVM: A Real Compiler Backend

8 December 2015


Last updated 9 December 2015.