Compilers & Interpreters

Compilers & Interpreters

Lexing, parsing, ASTs, semantic analysis, type checking, intermediate representations, code generation, and optimisation passes. Understand how languages like Python, Go, and Rust turn source code into running programs.

FundamentalsTopics 1–10
  • ·What Is a Compiler?
  • ·Lexical Analysis
  • ·Regular Expressions & Automata
  • ·Parsing & Grammars
  • ·Abstract Syntax Trees
  • ·Symbol Tables
  • ·Type Checking
  • ·Semantic Analysis
  • ·Intermediate Representation
  • ·Interpreters vs Compilers
Start Fundamentals
IntermediateTopics 11–20
  • ·Code Generation
  • ·Register Allocation
  • ·Control Flow Graphs
  • ·SSA Form
  • ·Dataflow Analysis
  • ·Loop Optimisations
  • ·Inlining & Devirtualisation
  • ·Dead Code Elimination
  • ·LLVM IR in Depth
  • ·Instruction Selection
Start Intermediate
AdvancedTopics 21–30
  • ·JIT Compilation
  • ·Garbage Collectors
  • ·Escape Analysis
  • ·Profile-Guided Optimisation
  • ·SIMD Vectorisation
  • ·Link-Time Optimisation
  • ·WebAssembly as IR
  • ·Language Runtimes
  • ·Type System Design
  • ·MLIR & Modern Compiler Infrastructure
Start Advanced
AppliedTopics 31–38
  • ·Building a Simple Interpreter
  • ·Writing a Lexer & Parser
  • ·Parser Combinators
  • ·Building on LLVM
  • ·DSL Design
  • ·Compiler Error Quality
  • ·Using Compilers as a Developer
  • ·Compiler Interview Patterns
Start Applied