Forum: Mikrocontroller und Digitale Elektronik Tinybasic compiler oder interpreter / Konzept


von D. S. (jasmin)


Lesenswert?

Hallo,

ist das tinybasic nun ein interpreter oder ein compiler ?
Das konzept scheint mir Teile beider Varianten zu nutzen.
Das Programm wird compiliert und auf das target geladen, dort existiert 
aber eine Art "tinybasic" Stack ???

Wer kann hier etwas Licht ins dunkel bringen.
Ich hatte früher mit den intel 8052 AH gearbeitet, wo unterscheiden sich 
die Konzepte ?

von Karl H. (kbuchegg)


Lesenswert?

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.

von Michael U. (amiga)


Lesenswert?

Hallo,

das Original Tiny-Basic war ein echter Interpreter, das Programm bleibt 
unverändert. U.a. auch deshalb die Beschränkung auf 26 Variablen (a-z) 
und ein einfaches array @.
Später wurden dann Zeilennummern schon bei der Eingabe umgerechnet und 
Token für die Befehlsworte benutzt und die Länge der Zeile am Anfang mit 
gespeichert um Zeilen schneller zu finden (als Beispiel Basic V2 vom 
C64).

Irgendo sollte ich noch die Original-Source vom Tiny-Basic liegen haben, 
die ist mit etwas rumsuchen im Netz zu finden.

Gruß aus Berlin
Michael

von D. S. (jasmin)


Lesenswert?

Ich glaube der 8052 AH Basic war auch tokenbasierend.
Ich hatte da ne Menge mit rumgebastelt und das Ding (Elektor Bausatz)vor 
einigen Jahren bei eBay für 50 € verkauft, schnief....;-(.

Bei Tinybasic scheint es keinen "inline" Editor zu geben.
Existiert da wohl so eine Art Monitorprogramm a la Paulsmon ?

Ist die neue Implementierung frei verfügbar, oder hat da Tinybasic den 
Finger drauf ?

Wer hat mit dem Gerät Erfahrungen gesammelt ?

Dietmar

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.