Schedule

September
MondayTuesdayWednesdayThursdayFriday
28 29 30
14:30-15:20 Lecture
zoom link
Course introduction
slides
01
Section
Intro. to parsing; regexps and scanning (Read ch. 1, 2.1-2.4)
slides
02
14:30-15:20 Lecture
zoom link
Regexps and scanners (slides from Thur. sec.)

October
MondayTuesdayWednesdayThursdayFriday
05
14:30-15:20 Lecture
zoom link
Scanners (concl.); Grammars and ambiguity (start) (3.1-3.3)
slides
06 07
14:30-15:20 Lecture
zoom link
Grammars and ambiguity (concl.)
08
Section
Project infrastructure, scanners, grammars
worksheet (sample solution), videos (requires UW CSE login): overview & git refresher, project overview,
23:00 hw1 due (Regular exps) (sample solution)
09
14:30-15:20 Lecture
zoom link
LR (bottom-up) parsing (3.4)
slides
12
14:30-15:20 Lecture
zoom link
LR parsing (concl.)
13 14
14:30-15:20 Lecture
zoom link
LR table construction (start) (3.5)
slides
15
Section
LR parser construction
slides, worksheet (sample solution)
23:00 Project: scanner due
16
14:30-15:20 Lecture
zoom link
LR conflicts, first/follow
handout from lecture slides
19
14:30-15:20 Lecture
zoom link
ASTs & visitors;
slides
20 21
14:30-15:20 Lecture
zoom link
LL Parsing & recursive descent (3.3)
slides
22
Section
CUP parser generator, ASTs, visitor pattern; LL parsing
slides: LL grammars, MiniJava parser, project AST video, worksheet (sample solution)
23:00 hw2 due (LR grammars) (sample solution)
23
14:30-15:20 Lecture
zoom link
Intro to semantics and type checking (4.1-4.2)
slides, slide for in-class exercise
26
14:30-15:20 Lecture
zoom link
Semantics; Attribute grammars (4.3)
27 28
14:30-15:20 Lecture
zoom link
Attribute grammars (examples)
29
Section
Interpreters; more about LL parsing
slides, worksheet (sample solution)
23:00 Project: parser+AST due
30
14:30-15:20 Lecture
zoom link
Symbol tables and representation of types

November
MondayTuesdayWednesdayThursdayFriday
02
14:30-15:20 Lecture
zoom link
x86-64 (everything you forgot from 351)
slides
03 04
14:30-15:20 Lecture
zoom link
x86-64 function calls & wrapup; Code shape I - basics (start)
handout, slides
05
Section
ASTs & semantics
slides, worksheet (sample solution)
06
14:30-15:20 Lecture
zoom link
Code shape I (concl.), Code shape II (start)
23:00 hw3 due (LL grammars & parsing) (sample solution)
09
14:30-15:20 Lecture
zoom link
Code shape II - objects and dynamic dispatch
slides; handout: pptx, pdf
10 11
Veteran's Day
12
Section
Semantics/type checking work session and project API check.
13
14:30-15:20 Lecture
zoom link
Codeshape (concl.); Start IRs if time
16
14:30-15:20 Lecture
zoom link
IRs
slides
17 18
14:30-15:20 Lecture
zoom link
Optimization overview
slides
19
Section
Project codegen
slides
23:00 Project: semantics due
20
14:30-15:20 Lecture
zoom link
Opt. overview (concl.)
23
14:30-15:20 Lecture
zoom link
Dataflow (start)
slides
24 25
14:30-15:20 Lecture
zoom link
Dataflow (concl.)
26
Thanksgiving
27
Fri. after Thanksgiving
30
14:30-15:20 Lecture
zoom link
SSA (start)
ssa: slides
01 02
14:30-15:20 Lecture
zoom link
SSA (concl.)
03
Section
Dataflow & SSA
slides, worksheet (sample solution)
23:00 Project: code generation due
04
14:30-15:20 Lecture
zoom link
Back end overview; instruction selection
slides

December
MondayTuesdayWednesdayThursdayFriday
07
14:30-15:20 Lecture
zoom link
Instruction scheduling; register allocation
08
23:00 Project: report due No late reports accepted
09
14:30-15:20 Lecture
zoom link
Dynamic languages
slides
10
Section
Wrapup
slides, worksheet
23:00 hw4 due (dataflow & SSA) (SSA diagram (optional)) (sample solution)
11
14:30-15:20 Lecture
zoom link
Garbage collection & Course Wrapup
slides
23:00 CSE M 501 project due No late assignments accepted
23:00 CSE M 501 report due Saturday 11 pm No late assignments accepted