Every program you run travels through the same basic pipeline before a single instruction executes. This scene lays that pipeline out in 3D space: raw source code is broken into tokens by a lexer, the tokens are assembled into a tree-shaped Abstract Syntax Tree (AST) by a parser, the tree is turned into either machine code or portable bytecode, and finally instructions retire on one or more CPU cores.
Many modern languages (Java, Python, JavaScript's V8) actually blend both models: source is first compiled to bytecode, then a Just-In-Time (JIT) compiler turns the "hot" parts of that bytecode into real machine code while the program is still running.
Source code doesn't run directly — it flows through a lexer, a parser, a compiler or interpreter, and finally the CPU. This scene lays that pipeline out in 3D so you can watch tokens, syntax trees and instructions move stage by stage.
How raw text becomes tokens, how tokens are assembled into an Abstract Syntax Tree, and how that tree becomes either machine code or bytecode before instructions retire on CPU cores.
Adjust execution speed and program size, switch between a compiled and interpreted execution model, choose how many CPU cores are available, and toggle the AST's tree links.
Many real-world runtimes (Java's JVM, Python's CPython, V8 for JavaScript) blend both models: they compile to bytecode first, then use a Just-In-Time compiler to turn frequently run bytecode into native machine code.