CSE 40243 Fall 2022

Compilers and Language Design Course at the University of Notre Dame

View the Project on GitHub

CSE 40243 - Compilers and Language Design - Fall 2022

Instructors

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)

Online Textbook

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

Important Documents

Course Schedule

(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