Compilers and Language Design Course at the University of Notre Dame
MWF 9:25-10:15 in Cushing 303
![]() |
Prof. Douglas Thain (dthain@nd.edu) Office Hours: MW 2-4PM Office: 384 Fitpatrick Hall |
![]() |
TA: Prince Noah Johnson (pjohns24@nd.edu) Office Hours: Tue 4-6PM, Thu 5-7PM Office: CSE Student Commons |
![]() |
Douglas Thain, Introduction to Compilers and Language Design, 2nd edition, 2021. http://compilerbook.org |
Week | Readings | Monday | Wednesday | Friday | Due Friday | Reference | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Aug 25 |
Overview
|
Compiler Stages
|
Tokens and FAs
|
Homework 1
|
Regex Handout | Regex 101
Sep 1
|
|
Regular Expressions
|
RE->NFA
|
NFA->DFA
|
Encoder Due
|
RE-NFA-DFA Handout | Hand Scanner
Sep 8
|
|
Flex
|
CFGs
|
CFGs
|
Homework 2
|
Flex Scanner Generator | CFG Tool
Sep 15
|
|
LL(1) Grammars
|
Recursive Descent
|
LL(1) Table Parsing
|
Scanner Due
|
Parser Generators |
Sep 22
|
Chapter 4.4-4.6
|
Shift-Reduce Parsing
|
LR(0) Automaton
|
SLR Parsing
|
Homework 3
|
|
Sep 29
|
Chapter 5
|
LR(1) Parsing
|
Bison
|
Parsing B-Minor
|
Homework 4
|
Bison Manual
| Bison Examples
Oct 6
|
Chapter 5
|
Parsing B-Minor
|
AST
|
AST
|
Parser Due
|
AST Handout
|
Oct 13
|
Chapter 6
|
Printing
|
Printing
|
Midterm Exam
|
|
|
Oct 20
|
Chapter 7
|
Type Systems
|
Type Systems
|
Name Resolution
|
Printer Due
|
|
Oct 27
|
| Fall Break
| Fall Break
| Fall Break
|
|
|
Nov 3
|
Chapter 7
| Checking Exprs
| Checking Statements
| Checking Decls
| Resolver Due
|
|
Nov 10
|
Chapter 9
| Memory Org
| Memory Org
| Memory Org
| Type Checker Due
|
|
Nov 17
|
Chapter 10
| Assembly
| Assembly
| Assembly
|
| Intel Manuals
| Calling Convention
Nov 24
|
Chapter 11
| Codegen Exprs
| Thanksgiving
| Thanksgiving
|
|
|
Dec 1
|
Chapter 12
| Codegen Stmts
| Codegen Decls
| Optimization
|
|
|
Dec 8
|
Chapter 12
| Optimization
| Review | Codegen Due Final Exam | 7:30-9:30PM
|
</table>
| |