META II: Digital Vellum in the Digital Scriptorium: Revisiting Schorre's 1962 compiler-compiler
- Provides high-level commentary about re-implementing the META-II self-reproducing compiler, using Python as a backend, and mountain climbing as an analogy. Good read.
- Original paper
- What it means to be self-reproducing: The original compiler was written in assembly (in this case, a bytecode assembly). When this compiler is run and fed the language description (figure 5 in the paper), it outputs bytecode which is identical (or almost nearly so) to the hand-coded compiler. When this automatically-generated compiler is run and fed the language description (again!) it reproduces itself (same bytecode) perfectly.
- See section "How the Meta II compiler was written"
|