|Compilers: Slides and other material|
This page collects key material for the course. Slides are updated throughout the term, for example to correct errors. Please get the latest versions before revising. If you find a mistake, please let me know. Office hours are 12:00-13:00 after the Wednesday lecture. My office is Chichester 2, Room 312. As I supervise a lot of students, I strongly recommend to consult my online calendar to check my availablility, and then to email me for an appointment.
Important pages. Course's Canvas page and course's homepage. The course also has a Discord channel for chats about compilers. The invite to the channel can be found on Canvas.
Lecture slides. Slides for lectures not yet delivered are from last year. I might make small changes throughout the year.
|1.pdf||1-handout.pdf||Introduction, administrativa, course overview (Integer power example)|
|2.pdf||2-handout.pdf||Lexing 1: regular expressions|
|3.pdf||3-handout.pdf||Lexing 2: finite state automata|
|4.pdf||4-handout.pdf||Syntax analysis 1: context free grammars|
|5.pdf||5-handout.pdf||Syntax analysis 2: parsing (Optional.java)|
|10.pdf||10-handout.pdf||Introduction to realistic code generation|
|11.pdf||11-handout.pdf||UNDER CONSTRUCTION: Introduction to the RISC-V processor|
|12.pdf||12-handout.pdf||UNDER CONSTRUCTION: Code generation for the RISC-V processor|
|15.pdf||15-handout.pdf||Caching (Loop exchange example)|
|16.pdf||16-handout.pdf||JIT compilers (not exam relevant)|
Lecture videos. Will be uploaded here after lectures. Please let me know if you have trouble accessing them.
|2 Oct 2019 Introduction|
|4 Oct 2019 Lexing (1)|
|9 Oct 2019 Lexing (2)|
|11 Oct 2019 Lexing (3)|
|16 Oct 2019 Lexing (4), Parsing (1)|
|18 Oct 2019 Parsing (2)|
Tutorial exercises. Sometimes, due to scheduling of tutorials and lectures, tutorial questions might be a bit ahdead of lecture material, especially at the start of term. Don't let this worry you, you can always do those exercises later.
|Week 2 (Solutions).|
Past exams. Can be found here.
Online Material and Books: The course does not follow a set textbook. Instead, suitable lecture notes will be provided. Below is a small selection of supplementary reading material. Most go well beyond what we will cover in the course.