Interpreter
Führt Code Zeile für Zeile zur Laufzeit aus.
An interpreter executes code directly, translating and running one statement at a time without creating a standalone executable. This enables interactive development and immediate feedback.
Characteristics:
- No compilation step: Execute immediately
- Line-by-line execution: Process as you go
- Runtime translation: Slower than compiled code
- Platform independence: Same source runs anywhere with interpreter
graph LR
Center["Interpreter"]:::main
Rel_compiler["compiler"]:::related -.-> Center
click Rel_compiler "/terms/compiler"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Erkläre es wie einem 5-Jährigen
Ein Interpreter ist wie ein Übersetzer, der einen Satz in einer Fremdsprache liest, dir sagt, was er bedeutet, dann zum nächsten Satz übergeht. Es ist langsamer als ein vollständig übersetztes Buch zu lesen, aber du kannst sofort verstehen!
🤓 Expert Deep Dive
Tree-walking Interpreter führen AST-Knoten direkt aus. Bytecode-Interpreter kompilieren in Zwischenform. Tracing JITs optimieren heiße Pfade.