Interpreter

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Programmiersprachen werden bezüglich der Codeausführung in zwei Kategorien eingeteilt: Compiler und Interpreter.

Interpreter analysieren den Sourcecode des Programms erst zur Laufzeit, wodurch Syntaxfehler auch erst dann entdeckt werden. Die Interpretation kostet natürlich auch Zeit und zwar ebenfalls zur Laufzeit des Programms. Außerdem braucht der Syntaxparser dabei Platz auf dem Zielsystem.

Zur Reduktion des Platzbedarfs des zu interpretierenden Programms wird der menschenlesbare Programmcode meist nicht direkt verarbeitet, sondern in einer Vorstufe, auch Tokeniser genannt, in so genannte "Tokens" umgewandelt. Diese stellen eine verkürzte (binäre) Befehlsdarstellung der verwendeten Programmiersprache dar. In dieser Stufe kann auch eine syntaktische Fehlerprüfung erfolgen. Manchmal findet man in diesem Zusammenhang den Begriff "Compreter" als Mischform aus Compiler und Interpreter.

Dies geht fließend in die Verwendung von Bytecode über, bei dem das Programm für einen imaginären virtuellen Prozessor compiliert wird, dessen Programm dann interpretiert wird, siehe Java.

Im Microcontrollerbereich findet man Interpreter aufgrund ihrer langsamen Ausführungssgeschwindigkeit eher selten, einige Ausnahmen sind BASIC52 für 8051-Familie und die Mikrocontrollermodule Basic Stamp, C-Control und Basic Tiger.