Texteditor

Im Emulator ist ein Texteditor integriert, der insbesondere für die Entwicklung von 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:

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.

5. Suchen mit einem regulären Ausdruck

Bei der Suchfunktion können Sie den zu suchenden Text auch als regulären Ausdruck angeben. Dabei gelten die gleichen Regeln wir für reguläre Ausdrücke in Java. Diese sind wiederum sehr ähnlich, jedoch nicht ganz identisch, zu denen von Perl 5.

Unicode- und Mehrzeilenunterstützung sind bereits aktiviert, d.h., der Punkt steht für jedes beliebige Zeichen außer Zeilenumbruch, und ^ und $ markieren den Zeilenanfang bzw. Zeilenende.

Die Tabelle zeigt eine kleine Auswahl der Möglichkeiten mit regulären Ausdrücken:
KonstruktBedeutung
XZeichen X
X?Zeichen X einmal oder nicht
X+Zeichen X einmal oder mehrmals
X*Zeichen X einmal, mehrmals oder nicht
.Beliebiges Zeichen außer Zeilenumbruch
^Zeilenanfang
$Zeilenende
\\Backslash
[ABC]A, B oder C
[^ABC]Beliebiges Zeichen außer A, B und C
[a-zA-Z]a bis z oder A bis Z