Tentative semester plan 2023


Lectures

WeekDateSlide setTopicRemarks
2 09.01 01 Introduction
10.01 02,03 Finite Automata (DFA, NFA) and Regular Expressions
3 16.01 04 NFA-DFA conversion, state minimization
17.01 05,06 Lexical analysis summary, Context-Free Grammars flex examples
4 23.01 07 Top-down parsing, LL(1) parser construction
24.01 08,09 Bottom-up parsing, LR(0) parser construction
5 30.01 10 LR(0) parsing tables
31.01 11,12 SLR, LALR and LR(1) parsing tables, Syntax-directed definition
6 06.02 own Operational semantics (Extracurricular)
07.02 13 Type judgments
7 13.02 14 Type checking
14.02 15,16 Derived types, Three-Address Code (TAC)
8 20.02 17 Run time stack
21.02 17,18 Run time stack, function calls Interrupted by fire alarm
9 27.02 18 Function calls and stack frames
28.02 18,19 Function calls and stack frames, simple objects
1006.03 22 Introduction to optimizations
07.03 20,21 Basics of x86_64 instruction set architecture
1113.03 23 Control flow graphs
14.03 24,25 Live variables, dataflow analysis framework
1220.03 26 Live variables within the framework
21.03 27,28 Other dataflow analysis instances, and dataflow summary
1327.03 own Denotational semantics Cancelled
28.03 own Fixed points Cancelled
1403.04 Easter
04.04 Easter
1510.04 Easter
11.04 Easter
1617.0429 Control flow and loop detection
18.0430,31 Instruction selection, register allocation
1724.04Summary
25.04Summary
1802.05
05.05 Teaching ends

Problem sets

PSOutDueRemarks
1Jan 20th Feb 2ndPS1_lecture.pdf
2Feb 3rd Feb 16th
3Feb 17th Mar 2nd
4Mar 3rd Mar 16thGraded
5Mar 17th Apr 13th
6Apr 14th Apr 28thGraded

Topics, slides and chapters

TopicSlidesChapters
Lexical analysis 02-05 3-3.4, 3.6, 3.7, 3.9.6
Syntactic analysis 06-11 4-4.4.3, 4.4-4.8
High-level intermediate representation 06-11 5-5.4
Low-level intermediate representation 16-17 6.2, 6.4, 6.6, 6.8, 6.9
Target machine architecture 18-21 7-7.4, 8-8.3
Dataflow analysis 22-28 8.4-9.6
Analysis applications 29-31 8.8, 8.9

Copies of the slides

Introduction to C

Slide setRemarks
Slide set 01
Slide set 02
Slide set 03
Slide set 04
Slide set 05
Slide set 06
Slide set 07
Slide set 08
Slide set 09
Slide set 10
Slide set 11
Slide set 12
Operational Semantics
Slide set 13
Slide set 14
Slide set 15
Slide set 16
Slide set 17
Slide set 18
Slide set 19
Slide set 20,21
Slide set 22
Slide set 23
Slide set 24
Slide set 25
Slide set 26
Slide set 27
Slide set 28
Slide set 29
Slide set 30
Slide set 31
Summary pt.1
Summary pt.2


Supplementary material

Video lectures from 2021
The curriculum covered in these lectures is slightly different from ours, but many of the examples we cover can be found here.

Crafting Interpreters
Free online book which covers several of the same topics as we do.