Programming Language Theory & Construction

Focus: how languages are built and reasoned aboutโ€”compilers, interpreters, type systems, and runtime systems.


Compilers & Interpreters

Building language implementations.

Topic Description
Compilers & Interpreters Full compiler/interpreter projects
Interpreters Deep Dive Tree-walking to bytecode
Programming Language Construction Designing and building languages

Type Systems & Semantics

Formal foundations of programming languages.

Topic Description
Type Systems Static and dynamic typing, type inference

Low-Level Language Implementation

ABIs, linking, and runtime systems.

Topic Description
C ABI Deep Dive Application Binary Interface
LLVM Projects LLVM compiler infrastructure

Memory Management & Garbage Collection

Automatic memory management systems.

Topic Description
Modern Garbage Collectors GC algorithms and implementations
Modern GC Deep Dive ZGC, Shenandoah, G1

Learning Tips

  1. Build a toy language: Best way to understand language design
  2. Study multiple approaches: Compare tree-walking vs bytecode vs JIT
  3. Read the Dragon Book: Classic compiler textbook
  4. Implement type checkers: Types are the foundation of correctness
  5. Explore LLVM: Industry-standard compiler infrastructure

โ† Back to all projects