|----|----|
|
| Prof. Douglas Thain (dthain@nd.edu)
Office Hours: 1-3PM Mon/Thu
Office: 384 Fitpatrick Hall|
|
| TA: Colin Thomas (cthoma26@nd.edu)
Office Hours: 3-5PM Mon/Wed
Office: 150B Fitpatrick Hall (Student Commons)|
|
| TA: David Simonetti (dsimone2@nd.edu)
Office Hours: 3-5PM Tue/Thu
Office: 150B Fitpatrick Hall (Student Commons)|
|----|----|
|
| Douglas Thain,
Introduction to Compilers and Language Design,
2nd edition, 2021.
http://compilerbook.org
- Course Syllabus
- Slack Channel
- Online Textbook
- Canvas Course Page
- Starter Code
- General Assignment Instructions
- B-Minor 2023 Language Overview
- Flex Scanner Generator
- Bison Parser Generator
(Subject to change as needed.)
| Week | Reading | Monday | Wednesday | Thursday | Friday | Extra Links |
|---|---|---|---|---|---|---|
| Aug 21 | Ch 1-2 | Intro | Overview | Syllabus | ||
| Aug 28 | Ch 3 | Regular Expressions HW1 Due |
Finite Automata | Encoder Due | RE->NFA | Hand Parser Regex 101 Regex Golf Unicode |
| Sep 4 | Ch 3 | NFA->DFA | Flex | HW2 Due | Context Free Grammars | Flex Scanner Generator |
| Sep 11 | Ch 4.1-4.3 | Context Free Grammars | LL(1) Grammars | Scanner Due | Recursive Descent | |
| Sep 18 | Ch 4.4-4.6 | LL(1) Table Parsing | Shift-Reduce Parsing | HW3 Due | LR(0) Automaton | |
| Sep 25 | Ch 5 | SLR Parsing | LR(1) Parsing | Bison | Bison Examples | |
| Oct 2 | Ch 5 | Parsing B-Minor HW4 Due |
Parsing B-Minor | Abstract Syntax Tree | AST Handout | |
| Oct 9 | Ch 6 | Abstract Syntax Tree | Review Parser Due |
Midterm Exam | ||
| Oct 16 | Fall Break | Fall Break | Fall Break | Fall Break | ||
| Oct 23 | Ch 7 | AST / Printing | Type Systems | Name Resolution | ||
| Oct 30 | Ch 7 | Typechecking Printer Due |
Typechecking | Typechecking | ||
| Nov 6 | Ch 9 | Memory Org | Memory Org | Resolver Due | Memory Org | |
| Nov 13 | Ch 10 | Assembly | Assembly | Typecheck Due | Assembly | Intel Manuals Calling Convention |
| Nov 20 | Ch 11 | Codegen | Thanksgiving | Thanksgiving | Thanksgiving | |
| Nov 27 | Ch 11 | Codegen | Codegen. | Codegen | ||
| Dec 4 | Catch Up | Review | Codegen Due | |||
| Dec 11 | Final Exam 8-10AM |