Lecture # | Lecture Name | Reading | Projects Due | |
---|---|---|---|---|
Week 1 | Lecture 1 | Introduction | ||
Lecture 2 | Overview | Ch. 1, Ch. 2 (not every detail) | ||
Lecture 3 | Lexical analysis | Sections 3.1, 3.3, 3.4 -- 3.7 | ||
Week 2 | Lecture 4 | Lexical analysis | ||
Lecture 5 | Lex.; Parsing | |||
Lecture 6 | Parsing | Sections 4.1 -- 4.3 (except "Verifying the Language Generated by a Grammer", pp 173--4), 4.4, 4.9. Skim rest of Chapter 4. | #1: PL/0 Program | |
Week 3 | Lecture 7 | Parsing | ||
Lecture 8 | Parsing | |||
Lecture 9 | Parsing | #2: Scanner | ||
Week 4 | Lecture 10 | Parsing | ||
Lecture 11 | Semantic Analysis | Sections 7.1 to p. 394 (inclusive), 7.6, 8.2, 6.1 -- 6.4, (Optional: sections 6.5 & 6.6) | #3: EBNF | |
Lecture 12 | Semantic Analysis | |||
Week 5 | Lecture 13 | Semantic Analysis | ||
Lecture 14 | Semantic Analysis | |||
Lecture 15 | Midterm Review | #4: Parser | ||
Week 6 | Lecture 16 | Midterm | ||
Lecture 17 | Run-time Environment | Sections 7.1 -- 7.5, 7.7, 7.8 | ||
Lecture 18 | Run-time Environment | |||
Week 7 | Lecture 19 | Run-time Environment | ||
Lecture 20 | Run-time Environment | #5: Type Checker | ||
Lecture 21 | Run-time Environment | |||
Week 8 | Lecture 22 | Intermediate Code Gen | Sections 8.1, (8.2 above), 8.3, 8.4, 8.7, (Optional: 8.6) | |
Lecture 23 | Intermediate Code Gen | #6: Run-time | ||
Lecture 24 | Target Code Gen | Sections 9.1 -- 9.3, 9.6 -- 9.8, 9.10 | ||
Week 9 | Lecture 25 | Target Code Gen | ||
Lecture 26 | Optimization | Sections 9.4, 9.5, 9.9, 10.1, 10.2 | ||
Lecture 27 | Optimization | |||
Week 10 | Holiday |
|||
Lecture 28 | Optimization | #7: Code Gen | ||
Lecture 29 | Final Review | |||
Week 11 | Final Exam |