Schedule

The lecturing schedule with slides are given below. The slides may be updated as the course progresses. We advise you to work on the exercises after each lecture. Among the listed additional material you can often find video presentations by a former teacher of this course, Johan Jeuring, teaching from the same slides.

Date Lecture Lecture notes Most important exercises Additional material
14 Nov. Introduction 1–2.1 2.1,2.2,2.3
16 Nov. Grammars and Parsing 2.2–2.4, 2.6–2.9 2.5-2.10,2.13,2.14,2.21,2.44 Preparation slides for assignment 1
Video 2016 part 1, 2016 part 2
21 Nov. Parser Combinators (I) 3–3.3 3.5, 3.6, 3.9, 3.15, 3.16 Video 2015, 2016 part 1, 2016 part 2
23 Nov. Parser Combinators (II) 2.5, 3.3–3.7 3.21, 3.22, 3.24, 3.25 Video 2015, 2016 part 1, 2016 part 2
28 Nov. Parser Design, Monad examples 4 4.1 Video 2016 part 0, part 1, part 2, part 3, part 4
30 Nov. Regexp 8.2, 8.3, 9.2 8.7,8.13,9.1,9.3 Video 2015, 2016 REs
5 Dec. Finite State Machines 9.1, 8.1 8.3,8.5 Video 2015, 2016 part 1, 2016 part 2
7 Dec. Folds and Algebras (I) 5–5.3 5.1,5.2,5.3,5.4 Video 2016 part 1, part 2
12 Dec. Folds and Algebras (II) 5.4, 7.1 7.1,7.2 Video 2016 part 1, part 2
14 Dec. Simple Stack Machine SSM reference
Video 2015, 2016 part 1, 2016 part 2
19 Dec. Intermediate summary Video 2015
21 Dec. 13.30 Midterm exam Ch. 1-5
Christmas Break
9 Jan. No lecture
11 Jan. Validation Implementation and exercises
16 Jan. Pumping lemmas 9 9.1,9.3,9.8,9.9,9.10 Example of a proof 2016 Pumping Lemmas part 1, 2016 Pumping Lemmas part 2
Older recordings Pumping Lemma RG, CFG, REs
18 Jan. Nanopass Compilation
23 Jan. Optimizations
25 Jan. Summary
1 Feb. 13:30 Final exam Everything: Ch. 1-5, 7.1, 9, and extra material