Compilers
Articles
- Compilers Guide
- Lexing and Parsing
- Abstract Syntax Trees
- Semantic Analysis
- Intermediate Representation
- Code Optimization
- Code Generation
- LLVM Framework
- GCC Architecture
- Interpreter vs Compiler
- Just-In-Time Compilation
- Compiler Errors
- Type Checking
- Register Allocation
- Parsing Techniques
- Compiler Testing
- Domain-Specific Languages
- Compiler Engineer Career Guide
Compiler design, parsing techniques, code optimization, and programming language implementation guides.
Learning Path — 18 articles
1
Compilers Guide: How Source Code Becomes Machine Code
Understand the complete compiler pipeline — frontend, IR, optimizer, and backend — and learn how your source code …
Start Here
2
Lexing and Parsing: Tokenization, Grammars, and Syntax Analysis
Lexing and Parsing: Tokenization, Grammars, and Syntax Analysis. An accessible introduction to lexing parsing, exploring …
Start Here
3
ASTs: Structure, Traversal, and Practical Manipulation
Learn how abstract syntax trees represent code structure, how to traverse and transform them, and how ASTs power …
Start Here
4
Semantic Analysis: Scope Resolution, Symbol Tables, and Binding
Semantic Analysis: Scope Resolution, Symbol Tables, and Binding. Learn what you need to know about semantic analysis: …
5
Intermediate Representation: IR Types, SSA Form, and Optimization
Learn how compilers use intermediate representations — three-address code, SSA form, CFGs, and how IR design enables …
6
Code Optimization: Loop Unrolling, Inlining, Constant Folding
Discover how compilers transform code for speed — loop optimizations, inlining, constant propagation, dead code …
7
Code Generation: Instruction Selection, Scheduling, and Emission
Code Generation: Instruction Selection, Scheduling, and Emission. A practical guide to code generation, covering key …
8
LLVM Framework: IR, Optimization Passes, and Toolchain
LLVM Framework: IR, Optimization Passes, and Toolchain. A practical guide to llvm framework, covering key concepts, …
9
GCC Architecture: Frontends, GENERIC/GIMPLE IR, and Backends
Explore GCC's internal architecture — GENERIC and GIMPLE IR, the RTL backend, machine descriptions (MD files), and …
10
Interpreter vs Compiler: Execution Models and Tradeoffs
Compare interpreters and compilers — pure interpretation, bytecode VMs, JIT compilation, REPL environments, and when to …
11
Just-In-Time Compilation: Techniques, Tiers, and Modern JITs
Just-In-Time Compilation: Techniques, Tiers, and Modern JITs. An accessible introduction to just in time compilation, …
12
Compiler Errors: Reporting, Recovery, and Diagnostic Design
Build useful compiler diagnostics — learn error recovery strategies, diagnostic message design, and how Rust and Elm set …
13
Type Checking: Static Typing, Inference, and Type Systems
Type Checking: Static Typing, Inference, and Type Systems. Understand the essentials of type checking — from …
14
Register Allocation: Graph Coloring, Linear Scan, and Spilling
Register Allocation: Graph Coloring, Linear Scan, and Spilling. Everything you need to get started with register …
15
Parsing Techniques: Recursive Descent, LR, PEG, and Parser Generators
Parsing Techniques: Recursive Descent, LR, PEG, and Parser Generators. A practical guide to parsing techniques, covering …
16
Compiler Testing: Validation, Fuzzing, and Correctness
Learn how to test compilers — test suite design, differential testing, fuzzing, random program generation, and formal …
Advanced
17
Domain-Specific Languages: Design, Implementation, and Compilation
Build your own DSL — learn the difference between internal and external DSLs, how to design syntax and semantics, and …
Advanced
18
Compiler Engineer Career Guide: Skills, Research, and Industry
Compiler Engineer Career Guide: Skills, Research, and Industry. A practical guide to compiler career, covering key …
Advanced