Resources
Books
-
Crafting Interpreters by Robert Nystrom
- Excellent, free online book: craftinginterpreters.com
- Covers tree-walking interpreters and bytecode VMs
-
Writing an Interpreter in Go by Thorsten Ball
- Practical, hands-on approach
-
Engineering a Compiler by Cooper & Torczon
- Comprehensive academic textbook
Rust Resources
-
The Rust Programming Language (“The Book”)
-
Rust by Example
Tools Used
-
pest - PEG parser generator for Rust
-
inkwell - Safe LLVM wrapper for Rust
-
LLVM - Compiler infrastructure
- llvm.org
- llvm.org/docs/LangRef.html - LLVM IR reference
Academic Papers
- A Nanopass Framework for Compiler Education - Sarkar, Waddell, Dybvig
- Linear Scan Register Allocation - Poletto, Sarkar
- Simple and Efficient Construction of SSA Form - Braun et al.
Source Code
All code for this book:
File issues or contribute!