Languages and Compilers

Home
Best book Compilers: Principles, Techniques and Tools
Best videos Alex Aiken’s course on Lagunita
Why study? If you understand how languages and compilers actually work, you’ll write better code and learn new languages more easily.

Books:

→ Compilers: Principles, Techniques & Tools (The Dragon Book)

→ Kindle: Language Implementation Patterns

→ Kindle: Writing a compiler in Go

→ Kindle: Writing an interpreter in Go

https://craftinginterpreters.com/

Videos:

→ CS1 Compilers (Stanford): https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about

Projects

→ Toy language

→ Mal https://github.com/kanaka/mal

→ LSPs

https://lsif.dev/

https://code.visualstudio.com/blogs/2019/02/19/lsif

https://docs.sourcegraph.com/user/code_intelligence/lsif

→ Webpack/babel plugins

→ Code generatos

→ Contribute to TS/Rust compiler/V8

Links

https://github.com/skylake59/awesome-compilers

https://matklad.github.io/2018/06/06/modern-parser-generator.html

https://ohmlang.github.io/editor/

http://rickardlindberg.me/writing/rlmeta/

https://www.quora.com/How-does-a-Just-in-Time-JIT-compiler-say-for-example-Java-JIT-feed-the-generated-machine-code-to-the-processor

https://tomassetti.me/

https://rajasegar.github.io/ast-finder/

https://css-tricks.com/how-to-modify-nodes-in-an-abstract-syntax-tree/

https://ts-morph.com/

https://twitter.com/garybernhardt/status/1212468714018242560

https://twitter.com/mraleph/status/1234407620229894144