Programming
Courses
- 6.001: Structure and Interpretation of Computer Programs MIT [ course | book ]
- CS 6120: Advanced Compilers
- History of Programming Languages
Books
- Compilers: Principles, Techniques, and Tools
- Writing an Interpreter and Compiler in Go
- Crafting Interpreters (online)
- Programming Languages: Application and Interpretation (online)
- Build Your Own Lisp (online)
- LispE: Lisp Elémentaire (online)
Interpreter / Compiler
- awesome-compilers
- Compiler Explorer
- Let's Build a Compiler
- A C version of the "Let's Build a Compiler"
- Let's write a compiler
- An Intro to Compilers (archive)
- Tiny C Compiler
- rui314/chibicc: A small C compiler
- The Super Tiny Compiler!
- Obfuscated Tiny C Compiler
- Tinylisp: Lisp in 99 lines of C and how to write one yourself
- Lessons from Writing a Compiler
Parser
- Parsing Text with Nom
- How to write a tree-sitter grammar in an afternoon
- Writing a Simple Parser in Rust
LLVM
Random
- Esolang
- Compile code into silicon
- Make A Language (rust)
- Designing a programming language
- mirdaki/theforce: The Force - A Star Wars themed programming language
- riicchhaarrd/ocean: Programming language that compiles into a x86 ELF executable
- adam-mcdaniel/oakc: An infinitely more portable alternative to the C programming language
- Creating the Golfcart Programming Language
- I wrote a linker everyone can understand!
- spencertipping/jit-tutorial: How to write a JIT compiler
- What Every Computer Scientist Should Know About Floating-Point Arithmetic