15/07/2026
Compiler Design Sessional Lab — and I'm hooked already.
There's something genuinely beautiful about compiler design. It's the layer where human-readable code quietly transforms into something a machine can execute — lexical analysis breaking source code into tokens, parsing building syntax trees, semantic analysis catching meaning errors, all the way down to code generation. Every language you've ever used — Python, C, JavaScript — exists because someone built this pipeline.
It's the class where you stop just using programming languages and start understanding how they're built.
📚 Resources that are helping me get started:
- Compilers: Principles, Techniques, and Tools (the "Dragon Book") — the classic, dense but worth it
- Neso Academy's Compiler Design playlist on YouTube — great for building intuition before the theory
- GeeksforGeeks Compiler Design section — quick reference for concepts like FIRST/FOLLOW sets, LL(1) parsing
- Flex & Bison official docs — essential once you start building
⚙️ Setting up the toolchain (Flex + Bison):
On Mac:
brew install flex bison
Then verify with flex --version and bison --version. Xcode Command Line Tools (xcode-select --install) should already give you gcc/clang to compile the generated C code.
On Windows:
- Easiest path: install WSL (Windows Subsystem for Linux), then inside it run:
sudo apt update && sudo apt install flex bison gcc
- Alternative: install MinGW-w64 or Cygwin if you want to stay native without WSL.
First lab project incoming 👨💻 — starting with a simple lexical analyzer. Excited for where this course takes me.