Schedule

September
MondayTuesdayWednesdayThursdayFriday
23 24 25
14:30-15:20 Lecture
CSE2 G01
Course introduction
slides
26
Section
Intro. to parsing; regexps and scanning (Read ch. 1, 2.1-2.4)
slides
27
14:30-15:20 Lecture
CSE2 G01
Regexps and scanners (cont., slides from Thur. sec.)
30
14:30-15:20 Lecture
CSE2 G01
Scanners (concl.); Grammars and ambiguity (3.1-3.3)
slides
01
12:30-13:30 OH (Miya)
CSE2 121
02
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Grammars and ambiguity (cont.)
03
Section
Project infrastructure, scanners, grammars
slides, jflex demo files
11:30-12:30 OH (Miya)
CSE2 131
16:30-17:30 OH (Aaron)
CSE2 121
23:00 hw1 due (Regular exps)
04
13:30-14:30 OH (Aaron)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
LR (bottom-up) parsing (3.4)
slides

October
MondayTuesdayWednesdayThursdayFriday
07
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
LR parsing (concl.)
08
12:30-13:30 OH (Miya)
CSE2 121
09
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
LR table construction (3.5); LR conflicts
slides
10
Section
LR parser construction
slides, worksheet (sample solution)
11:30-12:30 OH (Miya)
CSE2 131
16:30-17:30 OH (Aaron)
CSE2 121
23:00 Project: scanner due
11
13:30-14:30 OH (Aaron)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
LR conflicts, first / follow
14
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
LR/SLR wrapup; ASTs & visitors;
slides
15
12:30-13:30 OH (Miya)
CSE2 121
16
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
LL Parsing & recursive descent (3.3)
slides
17
Section
CUP parser generator, ASTs, visitor pattern; LL parsing
slides, worksheet (sample solution)
11:30-12:30 OH (Miya)
CSE2 131
16:30-17:30 OH (Aaron)
CSE2 121
23:00 hw2 due (LR grammars)
18
13:30-14:30 OH (Aaron)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Intro to semantics and type checking (4.1-4.2)
slides
15:30-16:30 OH (Hal)
CSE 548
21
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Semantics; Attribute grammars (4.3)
22
12:30-13:30 OH (Miya)
CSE2 121
23
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Attribute grammars (examples)
24
Section
Interpreters; more about LL parsing
slides, worksheet; interpreter code: Interpreter.java, InterpretVisitor.java
11:30-12:30 OH (Miya)
CSE2 131
16:30-17:30 OH (Aaron)
CSE2 121
23:00 Project: parser+AST due
25
13:30-14:30 OH (Aaron)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Symbol tables and representation of types
15:30-16:30 OH (Hal)
CSE 548
28
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Semantics (wrapup); x86-64 (everything you forgot from 351)
slides
23:00 hw3 due At most 1 late day allowed (LL grammars)
29
12:30-13:30 OH (Miya)
CSE2 121
30
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
x86-64 function calls & wrapup
31
Section
Midterm review
worksheet (sample solution)
11:30-12:30 OH (Miya)
CSE2 131
16:30-17:30 OH (Aaron)
CSE2 121
01
13:30-14:30 OH (Aaron)
CSE2 121
14:30-15:20 Midterm exam
15:30-16:30 OH (Hal)
CSE 548

November
MondayTuesdayWednesdayThursdayFriday
04
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Code shape I - basics
slides
05
12:30-13:30 OH (Miya)
CSE2 121
06
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Code shape II - objects and dynamic dispatch
slides
07
Section
ASTs, semantics, and dynamic dispatch
Semantics: slides, worksheet (sample solution)
11:30-12:30 OH (Miya)
CSE2 131
16:30-17:30 OH (Aaron)
CSE2 121
08
13:30-14:30 OH (Aaron)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Codeshape (concl.); IRs (start)
slides
15:30-16:30 OH (Hal)
CSE 548
11
Veteran's Day
12
12:30-13:30 OH (Miya)
CSE2 121
13
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
IRs (concl.); start project codegen
14
Section
Project code generation
slides
11:30-12:30 OH (Miya)
CSE2 131
16:30-17:30 OH (Aaron)
CSE2 121
23:00 Project: semantics due
15
13:30-14:30 OH (Aaron)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Optimization overview
slides
15:30-16:30 OH (Hal)
CSE 548
18
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Opt. overview (concl.); Dataflow (start)
slides
19
12:30-13:30 OH (Miya)
CSE2 121
20
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Dataflow (concl.); SSA (start.)
slides
21
Section
Dataflow
slides, worksheet (sample solution)
11:30-12:30 OH (Miya)
CSE2 131
16:30-17:30 OH (Aaron)
CSE2 121
22
13:30-14:30 OH (Aaron)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
SSA
15:30-16:30 OH (Hal)
CSE 548
25
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
SSA
26
12:30-13:30 OH (Miya)
CSE2 121
15:00-17:00 OH (Aaron)
CSE2 150
23:00 Project: code generation due
27
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Dynamic langauges
slides
28
Thanksgiving
29
Fri. after Thanksgiving

December
MondayTuesdayWednesdayThursdayFriday
02
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Back end overview; instruction selection
slides
03
12:30-13:30 OH (Miya)
CSE2 121
04
11:30-12:30 OH (Sam)
CSE2 121
13:30-14:30 OH (Kory)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Instruction scheduling; register allocation (no new slides)
05
Section
Dataflow & SSA
slides, worksheet (sample solution)
11:30-12:30 OH (Miya)
CSE2 131
16:30-17:30 OH (Aaron)
CSE2 121
23:00 Project: compiler additions due
06
13:30-14:30 OH (Aaron)
CSE2 121
14:30-15:20 Lecture
CSE2 G01
Garbage collection
slides
15:30-16:30 OH (Hal)
CSE 548
23:00 CSE M 501 project due Saturday 11 pm
23:00 CSE M 501 report due Sunday 11 pm
23:59 Project: report due Saturday 11:59pm
09
16:30 Final exam review Q&A
MOR 230
10
14:30-16:20 Final exam
11 12 13