Compiler Design (build an interpreter)
The planned outline of 15 modules. Lessons are written, run and reviewed before they are published.
Planned outline
- Module 1
How languages are implemented
Coming soon - Module 2
Lexical analysis
Coming soon - Module 3
Grammars and top-down parsing
Coming soon - Module 4
Bottom-up parsing: the LR family
Coming soon - Module 5
Syntax trees and syntax-directed translation
Coming soon - Module 6
A tree-walking interpreter for Kolam
Coming soon - Module 7
Semantic analysis: scopes and types
Coming soon - Module 8
Runtime environments
Coming soon - Module 9
Intermediate representations
Coming soon - Module 10
A bytecode compiler and virtual machine
Coming soon - Module 11
Optimisation and data-flow analysis
Coming soon - Module 12
Code generation
Coming soon - Module 13
JIT compilation and dynamic-language performance
Coming soon - Module 14
Language tooling and language design
Coming soon - Module 15
GATE CS: compiler design practice
India-specific Coming soon
Official documentation
- gate2027.iitm.ac.in/static/doc/GATE2027_Syllabus/CS_GATE2027_Syllabus.pdf (gate2027.iitm.ac.in)
- llvm.org/docs (llvm.org)
- gcc.gnu.org/onlinedocs/gccint (gcc.gnu.org)
More in Computer science fundamentals
- Object-Oriented Programming (coming soon)
- Database Management Systems (coming soon)
- Operating Systems (coming soon)
- Computer Networks (coming soon)
- All CS fundamentals tracks
- How we make lessons