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
LLVM Tutorial — LLVM (archived)
Found from this project: https://github.com/eliben/pykaleidoscope
LLVM by Chris Lattner in The Architecture of Open Source Applications (Volume 1) (archived)
LLVM tutorial slides by Lattner: https://llvm.org/pubs/2004-09-22-LCPCLLVMTutorial.pdf
Read code of Sly Lex Yacc (archived) and PLY
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 (12)
-
---
[[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]]
-
[[LLVM Tutorial — LLVM (archived)]]
- Found from this project: https://github.com/eliben/pykaleidoscope -
- Found from this project: https://github.com/eliben/pykaleidoscope
- [[LLVM by Chris Lattner in The Architecture of Open Source Applications (Volume 1) (archived)]]
- LLVM tutorial slides by Lattner: https://llvm.org/pubs/2004-09-22-LCPCLLVMTutorial.pdf -
Read code of [[Clippings/Sly Lex Yacc (archived)|Sly Lex Yacc (archived)]] and PLY
- LARL(1) parsers -
- LARL(1) parsers
- [[David Beazley - Reinventing the Parser Generator - PyCon 2018 (archived)]]
-
[[George Hotz]]
- Scheming in Haskell - https://www.youtube.com/watch?v=5QsC_VeYL4g -
Other relevant:
- [[LL, LR, SLR, and LALR parsers]]
-
Good bloggers
- [[Eli Bendersky's website (archived)]]
-
Resource lists
- [[Glyphack's Compilers Resources (archived)]]