Interpreter

Aus C64-Wiki
Wechseln zu: Navigation, Suche

Ein Interpreter dient dazu, Computerprogramme einer Programmiersprache (oder Scriptsprache), sei es in textueller oder bereits in einer aufbereiteten (tokenized) Form, für jeden Ausführungsvorgang schrittweise abzuarbeiten. Es erfolgt keine Umwandlung in ein direkt ausführbares Programm, sondern das Programm benötigt stets den Interpreter zwecks Ausführung.

Da der Programm-Quellcode von einem Interpreter für jeden Schritt der Ausführung immer wieder gelesen, analysiert und dann zur jeweiligen Aktionen führen muss, ist die Ausführung einer Interpretersprache (Scriptsprache) rund 50-mal langsamer als entsprechende Maschinenspracheprogramme bzw. Programme einer Compilersprache. In der Regel wird an der Stelle, an der ein für den Interpreter unverständlicher Befehl oder Anweisung steht, das Programm mit einer Fehlermeldung abgebrochen, ohne dass der Computer abstürzt.

Beim C64/128 oder VC20 erledigt der eingebaute BASIC-Interpreter, die Ausführung von BASIC-Programmen. Nur bei falscher Ausführung von hardwarenahen BASIC-Befehlen wie POKE, SYS oder USR kann der C64/128 oder VC20 abstürzen und solch ein BASIC-Programm ist mitunter verloren (sofern Reset zusammen mit einer UNNEW-Funktion nicht erfolgreich sind). Daher ist es generell sinnvoll, vor der Ausführung von gerade geschriebenen Programmen diese zunächst abzuspeichern.

Andere Programmiersprachen haben einen "inneren" Interpreter, der einen Zwischen-Programmcode (der bereits teilweise übersetzt oder aufbereitet ist) abarbeitet und nicht direkt mit dem Quelltext umgeht. Beim C64 wären zu nennen: Die Pascal-Variante UCSD-Pascal mit dem P-Code-Interpreter sowie die Menge der Forth-Implementierungen mit einem Threaded-Code-Interpreter.

[Bearbeiten] Links

WP-W11.png Wikipedia: Interpreter