Compilers and Language Design Course at the University of Notre Dame
Prof. Douglas Thain (dthain@nd.edu )Office Hours: 1-3PM Tue/Thu Office: 384 Fitpatrick Hall |
|
TA: Noah Ziems (nziems2@nd.edu )Office Hours: 3-5PM Mon/Wed Office: 150B Fitpatrick Hall (Student Commons) |
Douglas Thain, Introduction to Compilers and Language Design, 2nd edition, 2020. http://compilerbook.org |
(Subject to change as needed.)
Week | Reading | Monday | Wednesday | Friday | Assignment | Extra Links |
---|---|---|---|---|---|---|
Aug 22 | Ch 1-2 | Introduction | Overview | Syllabus | ||
Aug 29 | Ch 3 | Regular Expressions | Finite Automata | RE->NFA | HW1 Due Wed | / Hand Parser / Regex 101 / Regex Golf / Unicode |
Sep 5 | Ch 3 | NFA->DFA | Flex | Context Free Grammars | HW2 Due Wed | Flex Scanner Generator |
Sep 12 | Ch 4.1-4.3 | Context Free Grammars | LL(1) Grammars | LL(1) Parsing | Scanner Due | CFG Tool / Joke |
Sep 19 | Ch 4.4-4.6 | Shift-Reduce Parsing | LR(0) Automaton | SLR Parsing | HW3 Due Wed | |
Sep 26 | Ch 5 | LR(1) and Recap | Bison | Bison | HW4 Due Wed | Bison Manual / Examples |
Oct 3 | Ch 5 | Parsing B-Minor | Parsing B-Minor | Abstract Syntax Tree | AST Handout | |
Oct 10 | Ch 6 | Abstract Syntax Tree | Review | Midterm Exam | Parser Due Tue | |
Oct 17 | Fall Break | Fall Break | Fall Break | |||
Oct 24 | Ch 7 | Type Systems | Name Resolution | Typechecking | ||
Oct 31 | Ch 9 | Memory Org | Memory Org | Guest Lecture | Printer Due Tue | |
Nov 7 | Ch 10 | Assembly | Assembly | Assembly | Intel Manuals | |
Nov 14 | Ch 11 | Codegen | Codegen | Codegen | Typecheck Due Mon | Calling Convention |
Nov 21 | Ch 11 | Codegen | Thanksgiving | Thanksgiving | ||
Nov 28 | Ch 12 | Optimization | Garbage Coll. | Garbage Coll. | ||
Dec 5 | Catch Up | Review | Code Generator Due Wed | |||
Dec 12 | Final Exam 8-10AM Friday Dec 16 |