MAL-Homepage
Inhaltsverzeichnis
MAL Dokumentation: Editor
1. EINLEITUNG
Der ursprüngliche MAL-Editor (Wort med)
wurde unter WIN98/NT durch einen GUI-orientierten Editor
(Wort GUI_med) ersetzt. In der
Datei 'auto.cpu' ist unter WIN98/NT daher standardmäßig die Definition
: med GUI_med ;
zu finden.
Beide Editoren sind sprachsensitive Falteditoren, die speziell für die Bearbeitung
von MAL-Code abgestimmt sind. Der Begriff 'Falteditor' bedeutet, daß innerhalb
einer Doppelpunktdefinition gemachte lokale Doppelpunktdefinitionen komprimiert
dargestellt werden können. Komprimiert dargestellt heißt: ihr gesamter Code wird
durch ihren Namen ersetzt. Will man den Code lesen oder editieren, so kann man
ein eigenes Editorfenster öffnen.
Der Editor ist überall anzutreffen, wo Textfelder zu editieren sind. Der explizite
Aufruf kann mit den Worten med
oder ed erfolgen, wobei ´ed´ eine
Doppelpunktdefinition ist, die ´med´ verwendet.
Das Wort med kann zum Editieren von
Stackeinträgen oder Dateien verwendet werden. Stackeinträge können entweder
Doppelpunktdefinionen oder Verbunde von Strings sein.
Syntax:
doppelp -> neudoppelp
oder
[ zeile1 zeile2 ... ] -> [ neuzeile1 neuzeile2 .. ]
oder
dateiname ->
Das Wort ed kann zum editieren von
Doppelpunktdefinitionen, die sich im Vokabular oder in einem Pool
(siehe Kapitel Poolsystem) befinden verwendet
werden. Die entsprechenden Datensätze, also der Vokabularseintrag oder der
Pooleintrag, werden nach dem Verlassen des Editors automatisch aktualisiert.
Beispiel: ( editieren einer Doppelpunktdefinition im Vokabular)
: testwort 17 ramp draw screen ;
cool testwort ed
MAL-Homepage Inhaltsverzeichnis
2. DER EDITOR 'GUI_MED'
Der GUI_med unterscheidet
sich von den üblichen graphikorientierten Editoren hauptsächlich durch
die Komprimierfunktion.
Durch Aufruf des Menüpunktes Edit/Compress (Ctrl-K)
werden alle lokal definierten Doppelpunktdefinitionen durch ihren Namen ersetzt.
Beispiel:
: mein_programm
: erste_funktion
"Hier steht eine Menge Code" . cr
.
.
.. ;
: zweite_funktion
"Nochmals viel Code" . cr
.
.
.. ;
erste_funktion zweite_funktion ;
cool mein_programm ed
Das dabei geöffnete Editor-Fenster zeigt folgenden Inhalt:
MAL-Homepage Inhaltsverzeichnis
3. DER EDITOR 'MED'
Der MAL-Editor (MED) existiert sowohl als selbständiges Programm,
als auch als MAL-Wort. Das selbständige Programm kann auf
Betriebssystemebene mit
med dateiname
aufgerufen werden.
MAL-Homepage Inhaltsverzeichnis
3.1. Blockfunktionen
Abschnitte der zu editierenden Datei können zu Blöcken zusammengefaßt
und unter einer Kurzbezeichnung abgespeichert werden. In der Datei wird
als Platzhalter für den komprimierten Block der Blockname, eingeklammert
von zwei Sonderzeichen (die Zeichen sind betriebsystemabhängig, unter
DOS sind es senkrechte Balken) angezeigt.
Das Abstecken eines zu komprimierenden Bereichs erfolgt mit der
Tastenfolge ^K^B (Blockbeginn) und ^K^K (Blockende) und
anschließendem Eingeben des Blocknamens. Der Inhalt des Blocks
wird in der Blockliste gespeichert. Die Liste der aktuell gespeicherten
Blöcke kann mit ^B^L abgefragt werden.
Mit den Tasten ^B^I (Block Insert) kann ein Block an der Cursorposition
eingefügt werden. Befindet sich der Cursor gerade auf einem Platzhalter
für einen Block, so wird dieser durch den Inhalt des Blocks ersetzt.
Der Block wird dabei aus der Blockliste gestrichen.
Besonderheit für MAL-Code
Mit der Tastenkombination ^P^K (Programm komprimieren) wird der
Dateiinhalt ab der Cursorposition bis zum Dateiende als MAL-Sourcecode
betrachtet und alle darin gefundenen Doppelpunktdefinitionen werden
automatisch zu Blöcken umgewandelt. Eine entsprechende Expandierung
ist mit ^P^E möglich (wirkt auf die ganze Datei).
Diese Möglichkeit erhöht die Übersicht beim Arbeiten mit MAL-Code,
da alle lokal definierten Doppelpunktdefinitionen komprimiert werden
können, wodurch nur mehr der Hauptcode übrig bleibt.
Beispiel:
: hauptprogramm # : unterprogramm1 "hier steht eine Menge Code" . . . ; : unterprogramm2 "auch hier steht eine Menge Code" . . ; unterprogramm2 unterprogramm1 + sqrt ;Die Cursorposition ist in diesem Beispiel mit # gekennzeichnet. Wird also in diesem Fall ^P^K eingegeben, so sieht der Dateiinhalt folgendermaßen aus.
: hauptprogramm |unterprogramm1| |unterprogramm2| unterprogramm2 unterprogramm1 + sqrt ;Will man den Inhalt der Unterprogramme editieren, so genügt es, den Cursor auf den Platzhalter zu stellen und ^B^E (Block editieren) einzugeben.
MAL-Homepage Inhaltsverzeichnis
3.2. Editortasten
Allgemeines
MAL-Homepage Inhaltsverzeichnis