mikrocontroller.net

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


Autor: D. S. (jasmin)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: D. S. (jasmin)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.