MAL-Homepage
Inhaltsverzeichnis
MAL Dokumentation:
Programmentwicklung
Inhalt:
1.
DATENAUFTEILUNG
2.
TEST- UND ARBEITSBEREICH
3.
DATENEXPORT UND -IMPORT
4.
PRIVATE- UND PUBLIC-FOLDER
5.
SOURCECODE-VERWALTUNG
1. DATENAUFTEILUNG
MAL ist so konzipiert, daß an einem System simultan von mehreren
Entwicklern eines Teams programmiert werden kann. Es existiert ein
gemeinsamer Datenbereich (der Public-Pool) und für jeden Entwickler
ein privater Datenbereich (der Private-Pool) und ein Arbeitsbereich
(Work-Pool). Der Arbeitsbereich ist für Experimentierzwecke eingerichtet
und kann mit einem einzigen Befehl
(clear_work im
Folder admin)
gelöscht und neu eingerichtet werden, während der Public-Pool und
der Private-Pool für die längerfristige Archivierung von Daten und
Prozeduren dient.
Dieses Bild zeigt die ursprünglich konzipierte Datenstruktur.
In der Praxis hat sich diese Struktur immer mehr
dahingehend verändert, dass auch für jeden Entwickler
(bzw. jede MAL-Installation) ein eigener Public-Pool
existiert. Damit müssen auch unmittelbar zusammenarbeitende
Entwickler nicht unbedingt in einem gemeinsamen Netz
arbeiten. Das Aktualisieren des Public-Pools kann
auf einfache Weise mit Export und Import erfolgen
(siehe Logbook-Verwaltung).
Für den Zugriff auf die im System gespeicherten Worte (=Datensätze) existierten zwei
grundsätzlich unterschiedliche Adressierungsmethoden.
- via Folder (=Zugriff für den Menschen)
- via Directories (=Zugriff für Programme)
Jedes im System gespeicherte Wort kann auf beide Weisen
adressiert werden. Der Zugriff via Directories ist rasch und
einfach zu programmieren, während für den Zugriff via Folder
eine Bedienoberfläche existiert und außerdem zu jedem Datensatz
noch Zusatzsinformationen für den Benutzer abgespeichert sind.
Folder
Die Prozeduren und Datensätze (=Worte) werden zusammen mit
Kurzbeschreibungen (Help-Text) und einer Aufrufumgebung (Environment)
in Foldern abgespeichert.
MAL-Homepage
Inhaltsverzeichnis
2. TEST- UND ARBEITSBEREICH
Der Test- und Arbeitsbereich für den Programmentwickler
ist der Work-Folder. Er wird mit dem Wort
arbeit aufgerufen.
Die praktische Arbeit mit dem Work-Folder wird am
Besten an einem kleinen Beispiel demonstriert: Ein
Wort "sinusbild" zur Darstellung verschiedener Sinuskurven
soll programmiert werden.
Syntax:
frequenz ->
Die Doppelpunktdefinition würde folgendermaßen aussehen:
: sinusbild >> frequenz
100 ramp 100 / 6.28 * frequenz * sin draw screen ;
1) Neuen Eintrag im Work-Folder einrichten:
Aufruf des Work-Folders durch Eingabe von
arbeit,
Taste ´i´ (insert) und 'f' (Function) drücken
und den Helptext etwa folgendermaßen gestalten.
Ausgabe einer Sinuskurve am Bildschirm
frequenz ->
´frequenz´ ... Realzahl mit Anzahl der
darzustellenden Perioden.
Es wird eine Kurve mit 100 Stuetzpunkten und Amplitude 1 ausgegeben.
Nach dem Verlassen des Helptext-Editors erscheint folgende Maske:
Hier muss nur 'name' und 'topic' (=Themenzugehörigkeit)
eingetragen werden. Alle anderen Werte sind vorbesezt.
2) Den Code editieren:
Mit dem Cursor auf den neuen Eintrag sinusbild
gehen und Taste ´c´ (code) drücken. Der Code
ist wie bei einer Doppelpunktdefinition zu editieren, der
einleitende Doppelpunkt und der Name des Wortes aber
wegzulassen, also:
>> frequenz
100 ramp 100 / 6.28 * frequenz * sin draw screen ;
3) Environment editieren:
Das Wort sinusbild benötigt beim Aufruf einen
Frequenzwert am Stack. Das Environment dient dazu, diese
Versorgung in der Testphase (und später als Aufrufbeispiel
für andere Benutzer) zur Verfügung zu stellen.
Mit der Taste ´e´ wird das Environment editiert. Als
Vorbesetzung ist der Code objekt \ code
zu finden, der das Wort sinusbild aufruft. Es genügt also
zum Beispiel davor die Zahl 3 als Frequenzwert zu setzen, also:
3 objekt \ code
4) Testen des Wortes
Mit der Taste ´g´ (go) oder einem Doppelklick
auf "sinusbild" wird das Wort gestartet.
Zur weiteren Entwicklung des Wortes kann jeweils mit
´c´ der Code editiert und mit ´g´ das Wort gestartet
werden oder bei Bedarf die Versorgung im Environment
mit ´e´ verändert werden.
5) Verlassen des Folders
mit der Esc-Taste.
MAL-Homepage
Inhaltsverzeichnis
3. DATENEXPORT UND -IMPORT
Zum Austausch von Daten zwischen verschiedenen Vokabularsfoldern,
auch zwischen unterschiedlichen Hardware-Plattformen, dienen die
Menüpunkte export und import im Menü
submenue der Folder.
Der Menüpunkt export tranferiert Einträge auf eine
Metadatei. Voraussetzung ist, dass die gewünschten Einträge zuvor
mit + select markiert wurden (bzw. die nicht gewünschten mit
- unselect deselektiert). Alle selektierten Einträge haben
ein '+' Zeichen in der ganz rechten Spalte. Im Submenu finden sich auch
Menüpuntke - unselect all und + select all, die in manchen Fällen
sehr hilfreich sind.
Mit import können die Einträge von der Metadatei
in einen anderen Folder eingelesen werden. Dabei wird
automatisch eine Versionskontrolle duchgeführt. Details über
die Versionskontrolle sind bei der
Logbook-Verwaltung zu
finden.
MAL-Homepage
Inhaltsverzeichnis
4. PRIVATE- UND PUBLIC-FOLDER
Während der Work-Folder speziell für das Entwickeln und Testen neuer
MAL-Worte dient, sind der Private- und der Public-Folder zum
längerfristigen Archivieren von fertig getesteten Worten gedacht.
Selbstverständlich ist diese Unterscheidung nicht restlos zwingend.
(Alle drei Folder besitzen die gleichen Möglichkeiten für die
Programmentwicklung.)
Sowohl der Private- als auch der Public-Folder sind Folder, die ihrerseits
einige Folder beinhalten, sind also einfach geschachtelte Strukturen.
Beim Aufruf der Worte mein
(Private-Folder) oder unser
(Public-Folder) wird die Blätterfunktion für einen der sogenannten
Folder-Folder
aufgerufen. Diese beinhalten alle Folder aus dem
Private- bzw. Public-Pool. Der Wechsel in einen bestimmten Folder
geschieht, indem der Cursor auf die ensprechende Zeile gestellt wird
und der Menüpunkt browse aufgerufen wird.
MAL-Homepage
Inhaltsverzeichnis
5. SOURCECODE-VERWALTUNG
Der Source-Code des MAL-Interpreters ist, ebenso wie die MAL-Worte,
in einem Folder untergebracht. Dieser kann mit
source oder über den
Public-Folder, Eintrag source_folder aufgerufen werden. Dieser Folder
hat neben den bereits erläuterten Möglichkeiten der Versionsverwaltung
und des Datenex- und Importes, wie sie bei Vokabularsfoldern existieren,
noch vier Zusatzpunkte im Submenü:
- Der Menüpunkt write schreibt alle mit ´+´ markierten Einträge
auf die Dateien. Der Dateiname wird der Spalte ´name´ entnommen.
- Analog liest der Menüpunkt read alle mit ´+´ markierten Dateien ein.
- Mit load selection werden alle im System
gerade benötigten Sourcedateien mit ´+´ markiert.
- Die Definition , welche Einträge mit ´load selection´
markiert werden sollen, kann mit save selection erfolgen.
Beim Aufruf von save selection werden alle gerade markierten
Einträge in einer Liste (im Admin-Folder) gespeichert.
Praktische Vorgangsweise beim Ändern von Sourcecode:
Normalerweise müssen Änderungen im Sourcecode auch getestet
werden, bevor man sie als abgeschlossen betrachten kann. Daher
empfiehlt es sich, die entsprechende Datei zuerst aus dem Sourcefolder
zu holen, dann zu editieren und zu testen und anschließend die Datei
wieder in den Folder zu lesen und den Eintrag in das Logbook vorzunehmen.
- Wort source
aufrufen und eventuell gesetzte Markierungen im Source-Folder
mit submenue / - unselect all löschen.
- Mit find die gewünschte Datei suchen, mit
+ select das Feld 'selected' auf ´+´ setzen und
mit submenue / write auf Datei schreiben.
- Folder verlassen und MAL mit bye
beenden, die Datei editieren und testen.
- MAL starten und Wort source aufrufen.
- Datei mit submenue und read einlesen.
Mit dem Cursor auf den entsprechenden Eintrag gehen und mit
logbook / insert den Logbook-Eintrag editieren.
MAL-Homepage
Inhaltsverzeichnis