Texteditor
Im Emulator ist ein Texteditor integriert,
der insbesondere für die Entwicklung von Assembler- und
Tiny-MP-BASIC-Programmen gedacht ist.
Es können aber auch beliebige andere Textdateien editiert werden.
Neben den üblichen Editorfunktionen wie Dateien öffnen
und speichern, suchen und ersetzen, Zugriff auf die Zwischenablage
usw. bietet er die Möglichkeit,
ein BASIC-Programm aus dem Arbeitsspeicher des Emulators zu laden
und umgekehrt wieder in den Arbeitsspeicher zu transferieren.
Nachfolgend werden nur die Funktionen beschrieben,
die sich von den üblichen Editorfunktionen unterscheiden.
1. BASIC-Programm aus Arbeitsspeicher laden
Diese Funktion erreichen Sie über das Menü Datei.
Zuerst fragt der Editor nach der Adresse im Arbeitsspeicher,
von der das Programm geladen werden soll.
Anschließend wird das an dieser Stelle beginnende BASIC-Programm
in den Editor geladen und dort angezeigt.
Dabei erfolgt eine Umwandlung vom
komprimierten Speicherformat
in die übliche BASIC-Darstellung, d.h.,
die Schlüsselwörter werden ausgeschrieben und Leerzeichen
an bestimmten Stellen eingefügt.
Mit Hilfe dieser Funktion kann auch ein im Arbeitsspeicher
befindliches BASIC-Programm ausgedruckt werden,
indem man es einfach über die Druckfunktion des Editors druckt.
2. BASIC-Programm syntaktisch prüfen
Diese Funktion finden Sie wie auch die beiden danach beschriebenen
im Menü Programmierung.
Der Editor enthält einen Parser,
der die Syntax des angezeigten BASIC-Programms prüft.
Fehler und Warnungen werden im unteren Bereich des Editors ausgegeben.
Neben der eigentlichen Fehlermeldung wird auch die betroffene
BASIC-Zeile mit angezeigt.
Die fehlerhafte Stelle innerhalb dieser Zeile ist mit drei
Fragezeichen gekennzeichnet.
Um direkt von der Fehlermeldung zur fehlerhaften BASIC-Zeile
zu gelangen, klicken Sie doppelt auf die eigentliche Fehlermeldung,
d.h. auf die Zeile mit der Zeilennummer.
Der Editor setzt dann den Cursor auf die fehlerhafte BASIC-Zeile.
Der Parser beachtet auch streng die Besonderheiten bei
IF...THEN...ELSE,
d.h. dort, wo ein ELSE vom BASIC-Interpreter zwar nicht
angemeckert wird, aber auch keine Wirkung zeigt,
erlaubt es der BASIC-Parser des Editors erst gar nicht.
Zusätzlich zu der vom BASIC-Interpreter vorgegebenen Syntax
gelten für den Parser folgende Regeln:
- Leerzeilen werden ignoriert
-
Schlüsselwörter, Variablen, Hexadezimalzahlen,
Prozedur- und Funktionsnamen können klein geschrieben werden.
Der Parser wandelt sie in Großbuchstaben um.
- Das Schlüsselwort LET kann weggelassen werden
-
Enthält eine BASIC-Zeile keine Zeilennummer,
wird die Zeile ggf. mit einem Semikolon getrennt an die vorherige
angehängt, d.h., aus
100 A=1
PRINT A
110 END
erzeugt der Parser
100 LET A=1; PRINT A
110 END
Daraus folgt, das die erste Zeile eine BASIC-Zeilennummer haben muss.
-
Für die IF-Anweisung sind folgende Syntax-Varianten
möglich:
IF <Bedingung> THEN <Anweisung>
IF <Bedingung> THEN <Zeilennummer>
IF <Bedingung> <Anweisung>
Das Schlüsselwort THEN kann weggelassen werden.
Folgt hinter der Bedingung ein GOTO mit einer Zahl
als Zeilennummer, so kann anstelle von THEN auch
GOTO weggelassen werden.
Dies gilt jedoch nicht, wenn die Zeilennummer mit einem
variablen Ausdruck angegeben ist.
3. BASIC-Programm in Arbeitsspeicher laden
Diese Funktion prüft zuerst die Syntax des BASIC-Programms.
Wenn dabei kein Fehler auftritt, wird anschließend
das Programm in die komprimierte Form
umgewandelt und in den Arbeitsspeicher des Emulators geladen.
Dort können Sie es nun starten.
Vor dem erstmaligen Laden des BASIC-Programms in den Arbeitsspeicher
fragt der Editor nach der Adresse, wohin es geladen werden soll.
4. BASIC-Programm in Arbeitsspeicher laden mit...
Diese Funktion hat die gleiche Wirkung wie die gerade beschriebene,
nur mit dem Unterschied, dass jedesmal vor dem Laden
in den Arbeitsspeicher nach der Adresse gefragt wird.