Syntaxdiagramme
In diesem Zusammenhang soll auch kurz auf die Syntaxdiagramme eingegangen werden. Anhand dieser Diagramme wird deutlich, warum es dem Rechner egal ist, ob die Anweisungen in separaten Zeilen oder fortlaufend in einer Zeile angeordnet sind.
Wenn Sie sich das Syntaxdiagramm für DEFINE ansehen, wird klar, warum der Computer das Makro versteht. Die Syntaxdiagramme für alle Befehle und Funktionen sind in der Online-Hilfe enthalten. Das Diagramm für DEFINE finden Sie unten:
DEFINE function
|
v
(DEFINE)
|
v
|macro name|
|
v
+---------------<-----------------,
| |
v |
+-->(PARAMETER)-->|param. name|-->'
|
v
+----------------<-----------------,
| |
v |
+-->(LOCAL)-->|local macro name|-->'
|
v
+-----<-------,
| |
v |
+-->|token|-->'
|
v
(END_DEFINE)
|
v
Nach der DEFINE-Anweisung erwartet der Computer Folgendes:
Schlüsselwort PARAMETER,
Schlüsselwort LOCAL oder
Eine Zeichenfolge (Token)
Wenn eines dieser obengenannten Merkmale vorhanden ist, geht das System zur nächsten Anweisung über. Andernfalls wird die Verarbeitung des Makros beendet.
Unter TOKEN in der Online-Hilfe wird dargelegt, dass ein Befehl ein zulässiges Token ist.
Sehen Sie sich nun das Syntaxdiagramm für STORE an:
STORE command
->(STORE)-->+------>+-+--->(ALL)---->+->+-------------+->|file name|->
| | | | | |
`-(MI)->' `->|partname|->' `->(DEL_OLD)->'
STORE ist ein Befehl, d.h. STORE kann als Token verwendet werden.
Nach STORE muss entweder das Schlüsselwort MI, das Schlüsselwort ALL oder der Name eines Teils angegeben werden. Wir verwenden ALL.
Nach ALL muss DEL_OLD oder ein Dateiname folgen. Wir verwenden DEL_OLD und dann einen Dateinamen in einfachen Anführungszeichen.
Sie können überprüfen, ob CONFIRM hinter EXIT steht.
Versuchen Sie, das Makro ohne ALL zu verwenden:
DEFINE Quit STORE DEL_OLD 'workfile' EXIT CONFIRM END_DEFINE
Daraufhin erscheint eine Aufforderung zur Eingabe eines Parameters oder Teils.
Enter option or 'part_name'
Der Computer ist verwirrt, da er MI, ALL oder einen Teilenamen erwartet.
Der übersichtliche Aufbau von Makros (jede Anweisung in einer separaten Zeile) hilft also in erster Linie dem Benutzer selbst. Das System interpretiert die Anweisungen nach festen Algorithmen wie beispielsweise Syntaxdiagrammen.
War dies hilfreich?