Interpreters, Bytecode & Runtimes
Build a language twice — tree-walk interpreter and bytecode VM — then open up frames, closures, GC, JIT, the JVM, .NET, CPython, V8 and WebAssembly. 14 interactive tools, every output from a real run.
Lessons
- Exceptions, Errors and Stack Unwinding
- Memory Management and Garbage Collection in Runtimes
- Runtime Startup, Loading and Lifecycle
- JIT Compilation and Adaptive Optimization
- Production Runtime Case Study: JVM and Java Bytecode
- Production Runtime Case Study: .NET CLR and IL
- Production Runtime Case Study: Python and CPython
- Production Runtime Case Study: JavaScript Engines
- WebAssembly and Portable Sandboxed Execution
- Other Runtimes and Execution Models
- Orientation, Prerequisites and Execution Vocabulary
- The Program Execution Pipeline
- Language Implementation Strategies
- Lexing, Tokens and Lexical Rules
- Grammars and Parsing
- Abstract Syntax Trees and Semantic Analysis
- Runtime Debugging, Profiling and Observability
- Runtime Security, Sandboxing and Trust Boundaries
- Advanced VM Implementation and Optimization
- Language Design, Semantics and Conformance
- Build a Complete Mini-Language and Runtime
- Projects, Revision and Certification Assessment
- Glossary, Resources & Final Checklist
- Build a Tree-Walk Interpreter
- Runtime Values, Types and Environments
- Bytecode and Intermediate Representations
- Implement a Stack-Based Virtual Machine
- Register-Based VMs and VM Design Trade-offs
- Functions, Call Frames and Calling Conventions Inside a VM
- Closures, Scope, Modules and Object Systems
- Course Overview