CSE 40243 Fall 2023

Compilers and Language Design Course at the University of Notre Dame

CSE 40243 - Compilers and Language Design - Fall 2023

Instructors

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)

Online Textbook

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

Important Documents

Course Schedule

(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