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.

📚 Quellen