How I Learn Compilers
2025-03-04 blogpage programming howilearn sketch
Crafting Interpreters by Nystrom
SICP Structure and Interpretation of Computer Programs by Abelson
((How to Write a (Lisp) Interpreter (in Python)) (by Peter Norvig)(archived))
Dabeaz (David Beazley) Write a Compiler Course Notebook
Found from this project: https://github.com/eliben/pykaleidoscope
LLVM by Chris Lattner in The Architecture of Open Source Applications (Volume 1)
LLVM tutorial slides by Lattner: https://llvm.org/pubs/2004-09-22-LCPCLLVMTutorial.pdf
Read code of Sly Lex Yacc (archived) and PLY
LARL(1) parsers
David Beazley - Reinventing the Parser Generator - PyCon 2018
Scheming in Haskell - https://www.youtube.com/watch?v=5QsC_VeYL4g
Metamath - https://www.youtube.com/watch?v=4Or-5OLCNDA (parser) + https://www.youtube.com/watch?v=OAXjsUZoOgo
Other relevant:
Good bloggers
Resource lists
Incoming Internal References (1)
Outgoing Internal References (6)
-
---
[[Crafting Interpreters by Nystrom]]
-
[[SICP Structure and Interpretation of Computer Programs by Abelson]]
-
[[((How to Write a (Lisp) Interpreter (in Python)) (by Peter Norvig)(archived))]]
-
[[Dabeaz (David Beazley) Write a Compiler Course Notebook]]
-
[[George Hotz]]
- Scheming in Haskell - https://www.youtube.com/watch?v=5QsC_VeYL4g -
Other relevant:
- [[LL, LR, SLR, and LALR parsers]]
Outgoing Web References (6)
-
llvm.org/docs/tutorial
- LLVM Tutorial — LLVM
-
aosabook.org/en/v1/llvm.html
- LLVM by Chris Lattner in The Architecture of Open Source Applications (Volume 1)
-
github.com/dabeaz/sly
- Sly Lex Yacc (archived)
-
www.youtube.com/watch?v=zJ9z6Ge-vXs
- David Beazley - Reinventing the Parser Generator - PyCon 2018
-
eli.thegreenplace.net
- Eli Bendersky's website
-
glyphack.com/blog/compiler-resources
- Glyphack's Compilers Resources