selfie · classes · fourth semester · 14 × 135 min

Compiler Construction

A compiler is a proof system for syntax and a constructor of semantics, and every semantic question it seems to answer is a chosen approximation. Fourteen sessions that build starc, the compiler in selfie, extension by extension, and end with the program as a formula and a solver. Week 1 follows the selfie talk. Press → to begin a deck, n for the notes, t for the clock, d for the theme.

wkstationdeckassignmentpdf
1spineWhat is Selfie?print-your-namepdf
2I, IIThe Scannerhex-literalpdf
3IIThe Parserpdf
4IIISymbols and Typesbitwise-shift-compilationpdf
5IIExpressionsbitwise-shift-executionpdf
6IIIStatementsbitwise-and-or-not, logical-and-or-notpdf
7IIIProceduresfor-loop, lazy-evaluationpdf
8IIISelf-Compilationarray-accesspdf
9IIIOptimisation and Ricearray-allocationpdf
10IVSemantics as a Formulaarray-multidimensionalpdf
11IVSATstruct-declarationpdf
12IVBounded Model Checkingstruct-execution, rotor-checkpdf
13VGenerated Codepdf
14VIWhat is a Compiler?pdf

Assignments are autograded; see assignments/compiler-assignments.md and the grader. Companion classes: Introduction to Computer Science and Systems Engineering.