Playlist | schedule page slides as PDF |
Compilation 1 — toward machine code (1:14)
Considering how to translate our interpreter from Shplait to machine code.
Compilation 2 — lexical scope and addresses (3:25)
Lexical scope lets us predict, before running a program, where in the environment each variable will appear.
Compilation 3 — compile examples (2:31)
Compiling from names to positions as illustrated by examples.
Compilation 4 — compile (5:30)
Implementing the compiler from names to positions. See 0.rhm versus 1.rhm.
Compilation 5 — continuations and function calls (4:18)
Converting the interpreter to avoid implicit continuations and and function calls. See 2.rhm and 3.rhm.
Compilation 6 — allocation (4:06)
Converting the interpreter to make allocation explicit.
Compilation 7 — interp with malloc (3:02)
The converted interpreter that uses malloc. See 4.rhm.