Ein Interpreter ist ein Programm, das Zeile für Zeile eines Quellprogramms ausliest und diesen Code direkt ausführt – auf der jeweiligen Plattform. Damit unterscheidet sich der Interpreter vom Compiler, der den ganzen Code ausliest und zunächst übersetzt. Das bedeutet, dass jede Analyse durch den Interpreter während der Ausführung der jeweiligen Programmzeile erfolgt. Java benutzt zum Beispiel Interpreter.
Wie funktioniert’s?
Mithilfe eines Interpreters kann ein Programm den Quellcode direkt ausführen, ohne dass dieser zunächst übersetzt werden müsste. Es geht also um die Umsetzung von Routinen im Code. Eine Übersetzung erfolgt dennoch, allerdings nicht getrennt von der Ausführung. Beim Interpreter sind diese Schritte zusammengefasst, auf jede Zeile im Quellcode erfolgt eine sofortige Aktion. Die Reihenfolge der einzelnen Schritte wird durch die Vorgaben im Quellcode definiert.
Interpreter vs. Compiler
Im Gegensatz zum Compiler ist der Interpreter sehr gut dazu geeignet, Programmierfehler zu entdecken. Das funktioniert sehr simpel: Steckt ein Fehler im Quellcode, kann der Interpreter nicht mehr weiterarbeiten, da er anders als der Compiler nicht zur Korrektur von Fehlern fähig ist. Programmierer können so feststellen, an welcher Stelle der Interpreter seine Arbeit einstellt und wo folglich der Fehler liegt. Doch der Interpreter hat auch Nachteile: Da jede Zeile einzeln ausgelesen wird, unabhängig davon, ob sich Teile des Codes wiederholen, arbeitet der Interpreter langsamer als der Compiler. Zwar lässt sich dieser Schwachpunkt mittels Modifiaktion ein Stück weit ausgleichen, die Geschwindigkeit eines Compilers erreicht der Interpreter in der Regel trotzdem nicht. Interpreter sind in der Lage, die Programmiersprachen Basic, Ruby, PHP und Perl auszulesen und umzusetzen.