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 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>