Dietmar S. schrieb:
> Hallo,
>
> ist das tinybasic nun ein interpreter oder ein compiler ?
Schwierige Frage
Auf der einen Seite könnte man sagen, auf der Hardware läuft eine
virtuelle Maschine, deren Maschinencode eine Zwischensprache ist.
TinyBasic ist daher ein Compiler, der in diesen Maschinencode übersetzt.
Auf der anderen Seite, ist diese virtuelle Maschine ja nicht real,
sodass die eigentliche Hardware diesen Mschinencode in einem Interpreter
abarbeiten muss.
Auf der anderen Seite hindert einen nichts und niemand daran, einen
speziellen Chip zu bauen, der genau diese Zwischensprache als
eigentliche Maschinensprache benutzt.
Wird aus genau dem gleichen Übersetzungsprogramm aus einem Interpreter
plötzlich ein Compiler, nur weil man die darunter liegende Hardware
austauscht?
Als Konterargument könnte man sagen, dass ein Compiler auf die
Maschinensprache der Zielhardware hin übersetzt. Nun haben aber viele
CPU's einen Mikrokernel, dessen Aufgabe es ist, ein Computer im Computer
zu sein und das was als Maschinensprache der CPU veröffentlicht wird, im
Chip selber durch einen Interpreter zu implementieren.
> Wer kann hier etwas Licht ins dunkel bringen.
> Ich hatte früher mit den intel 8052 AH gearbeitet, wo unterscheiden sich
> die Konzepte ?
Das dürfte ein echter Interpreter sein, wobei 'Interpreter' immer eine
Grauzone bilden. Kaum ein Interpreter wird zur Laufzeit auf dem
tatsächlich eingegebenen Quelltext operieren, sondern immer eine Form
der Zwischensprache benutzen (im einfachsten Fall um Speicher zu
sparen).
Die Übergänge sind hier fliessend.