G53CMP Lecture Note Index

Autumn 2017

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.


Lecture 1: Administrative Details and Introduction

3 October 2017


Lecture 2: Defining Programming Languages

5 October 2017


Lecture 3: Syntactic Analysis: Bottom-Up Parsing

10 October 2017


Lecture 4: Syntactic Analysis: Parser Generators

17 October 2017


Lecture 5: Contextual Analysis: Scope I

19 October 2017


Lecture 6: Contextual Analysis: Scope II

24 October 2017


Lecture 7: A Versatile Design Pattern: Monads

31 October 2017


Lecture 8: Contextual Analysis: Types and Type Systems I

2 November 2017


Lecture 9: Contextual Analysis: Types and Type Systems II

7 November 2017


Lecture 10: Contextual Analysis: Implementing A Type Checker

9 November 2017


Lecture 11: Code Generation I

14 November 2017


Lecture 12 & 13: Code Generation II

16 & 21 November 2017


Lecture 14: Run-Time Organisation I

23 November 2017


Lecture 15: Run Time Organisation II

28 November 2017


Lecture 16: Code Optimization

5 December 2017


Lecture 17 & 18: Register Allocation

7 & 12 December 2017


Lecture 19: LLVM: A Real Compiler Backend

14 December 2017


Last updated 13 December 2017.