SDF bietet zur Vereinfachung der Kommandoeingabe eine Vielzahl von Möglichkeiten, wie z.B. Abkürzungsmöglichkeiten, implizite Variablendeklaration, Gebrauch von Stellungs- und Schlüsselwortoperanden. Der Gebrauch dieser Möglichkeiten, der in erster Linie die Eingabe im Dialog erleichtern soll, verlangt bei der Syntaxanalyse aber auch mehr Arbeitsschritte und kann sich deshalb im Prozedurmodus auch auf die Performance auswirken.
empfohlene Schreibweise | weniger performante Schreibweise |
Beispiel 1:
|
|
Beispiel 2:
|
|
Beispiel 3:
| /DECL-VAR TST1,TYPE=*STRING /DECL-VAR TST2,TYPE=*STRING /DECL-VAR TST3,TYPE=*STRING |
Beispiel 4:
|
|
Die Syntaxanalyse wird in folgenden Fällen wesentlich erleichtert:
Namen von Kommandos/Anweisungen, Operanden, Schlüsselwortwerten werden vollständig angegeben (alternativ auch Aliasnamen). Der Gebrauch von Minimalabkürzungen, der manchmal zur Vermeidung von Kompatibilitätsproblemen empfohlen wird, ist aus Performance-Sicht nicht ausreichend (siehe Beispiel 1).
Untergeordnete Operanden werden nicht außerhalb ihrer Struktur angegeben (siehe Beispiel 2).
Können in einem Kommando bzw. einer Anweisung mehrere Objekte gleichzeitig (z.B. durch die Angabe einer Liste oder durch Musterzeichen) angegeben werden, muss die Syntaxanalyse nur einmal durchgeführt werden. Im Gegensatz dazu muss die Syntaxanalyse jedes Mal neu durchgeführt werden, wenn das Kommando bzw. die Anweisung für jedes Objekt erneut eingegeben wird (siehe Deklaration der String-Variablen TST1, TST2 und TST3 im Beispiel 3).
Die SDF-Syntaxanalye kann auch im Fall des SET-VARIABLE-Kommandos vermieden werden, wenn das Kommando in der verkürzten Form (d.h. ohne den Kommandonamen) genutzt wird (siehe Beispiel 4).
Die Berücksichtigung dieser Punkte mag bei der Entwicklung bzw. Erstellung von S-Prozeduren vielleicht umständlich erscheinen, es ist aber zu bedenken, dass eine Prozedur nur einmal geschrieben, aber oft aufgerufen wird.