CSE 40243 Fall 2025

Compilers and Language Design Course at the University of Notre Dame

CSE 40243 - Compilers and Language Design - Fall 2025

MWF 9:25-10:15 in Cushing 303

Instructors

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

Online Textbook

Douglas Thain,
Introduction to Compilers and Language Design,
2nd edition, 2021.
http://compilerbook.org

Important Documents

Course Schedule

Week Readings Monday Wednesday Friday Due Friday Reference
Aug 25
  • Syllabus
  • Chapter 1
  • Chapter 2
  • The Absolute Minimum...
  • Overview Compiler Stages Tokens and FAs Homework 1 Regex Handout
    Regex 101
    Sep 1
  • Chapter 3
  • B-Minor 2025
  • GTA Loading Time
  • Regular Expressions RE->NFA NFA->DFA Encoder Due RE-NFA-DFA Handout
    Hand Scanner
    Sep 8
  • Chapter 4.1-4.2
  • RegExp and Grammars
  • Flex CFGs CFGs Homework 2 Flex Scanner Generator
    CFG Tool
    Sep 15
  • Chapter 4.2-4.3
  • How to design a Parser?
  • LL(1) Grammars Recursive Descent LL(1) Table Parsing Scanner Due LL(1) Handout Parser Generators
    Sep 22 Chapter 4.4-4.6 Shift-Reduce Parsing LR(0) Automaton SLR Parsing Homework 3 SLR Handout
    Sep 29
  • Chapter 5
  • Why Parsing Tools Are Hard 
  • 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 Fall Break Fall Break Fall Break
    Oct 27 Chapter 7 Type Systems Type Systems Name Resolution Printer Due
    Nov 3 Chapter 7 Checking Exprs Checking Statements Checking Decls
    Nov 10 Chapter 9 Memory Org (no class) Memory Org Resolver Due
    Nov 17 Chapter 10 Assembly Assembly Assembly Type Checker Due 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>