Diese Syntaxbeschreibung basiert auf der SDF-Version 4.5A. Die Syntax der SDF-Kommando-/Anweisungssprache wird im Folgenden in drei Tabellen erklärt.
Zu Tabelle 1 : Metasyntax
In den Kommando-/Anweisungsformaten werden bestimmte Zeichen und Darstellungsformen verwendet, deren Bedeutung in Tabelle 1 erläutert wird.
Zu Tabelle 2 : Datentypen
Variable Operandenwerte werden in SDF durch Datentypen dargestellt. Jeder Datentyp repräsentiert einen bestimmten Wertevorrat. Die Anzahl der Datentypen ist beschränkt auf die in Tabelle 2 beschriebenen Datentypen.
Die Beschreibung der Datentypen gilt für alle Kommandos und Anweisungen. Deshalb werden bei den entsprechenden Operandenbeschreibungen nur noch Abweichungen von Tabelle 2 erläutert.
Zu Tabelle 3 : Zusätze zu Datentypen
Zusätze zu Datentypen kennzeichnen weitere Eingabevorschriften für Datentypen. Die Zusätze enthalten eine Längen- bzw. Intervallangabe, schränken den Wertevorrat ein (Zusatz beginnt mit without), erweitern ihn (Zusatz beginnt mit with) oder erklären eine bestimmte Angabe zur Pflichtangabe (Zusatz beginnt mit mandatory). Im Handbuch werden folgende Zusätze in gekürzter Form dargestellt:
cat-id | cat |
Für den Datentyp integer enthält Tabelle 3 außerdem kursiv gesetzte Einheiten, die nicht Bestandteil der Syntax sind. Sie dienen lediglich als Lesehilfe.
Für Sonderdatentypen, die durch die Implementierung geprüft werden, enthält Tabelle 3 kursiv gesetzte Zusätze (siehe Zusatz special), die nicht Bestandteil der Syntax sind.
Die Beschreibung der Zusätze zu den Datentypen gilt für alle Kommandos und Anweisungen. Deshalb werden bei den entsprechenden Operandenbeschreibungen nur noch Abweichungen von Tabelle 3 erläutert.
Metasyntax
Kennzeichnung | Bedeutung | Beispiele |
GROSSBUCHSTABEN | Großbuchstaben bezeichnen Schlüsselwörter (Kommando-, Anweisungs-, Operandennamen, Schlüsselwortwerte) und konstante Operandenwerte. Schlüsselwortwerte beginnen mit *. | HELP-SDF SCREEN-STEPS = *NO |
GROSSBUCHSTABEN in Halbfett | Großbuchstaben in Halbfett kennzeichnen garantierte bzw. vorgeschlagene Abkürzungen der Schlüsselwörter. | GUIDANCE-MODE = *YES |
= | Das Gleichheitszeichen verbindet einen Operandennamen mit den dazugehörenden Operandenwerten. | GUIDANCE-MODE = *NO |
< > | Spitze Klammern kennzeichnen Variablen, deren Wertevorrat durch Datentypen und ihre Zusätze beschrieben wird (siehe Tabellen 2 und 3). | SYNTAX-FILE = <filename 1..54> |
Unterstreichung | Der Unterstrich kennzeichnet den Default-Wert eines Operanden. | GUIDANCE-MODE = *NO |
/ | Der Schrägstrich trennt alternative Operandenwerte. | NEXT-FIELD = *NO / *YES |
(...) | Runde Klammern kennzeichnen Operandenwerte, die eine Struktur einleiten. | ,UNGUIDED-DIALOG = *YES (...) / *NO |
[ ] | Eckige Klammern kennzeichnen struktureinleitende Operandenwerte, deren Angabe optional ist. Die nachfolgende Struktur kann ohne den einleitenden Operandenwert angegeben werden. | SELECT = [*BY-ATTRIBUTES](...) |
Einrückung | Die Einrückung kennzeichnet die | ,GUIDED-DIALOG = *YES (...) *YES(...) *YES |
, | Das Komma steht vor weiteren Operanden der gleichen Strukturstufe. | GUIDANCE-MODE = *NO / *YES ,SDF-COMMANDS = *NO / *YES |
list-poss(n): | Aus den list-poss folgenden | list-poss: *SAM / *ISAM list-poss(40): <structured-name 1..30> list-poss(256): *OMF / *SYSLST(...) / <filename 1..54> |
Kurzname: | Der darauf folgende Name ist ein | HELP-SDF Kurzname: HPSDF |
Tabelle 1: Metasyntax
Datentypen
Datentyp | Zeichenvorrat | Besonderheiten | ||||||
alphanum-name | A...Z | |||||||
cat-id | A...Z | maximal 4 Zeichen; | ||||||
command-rest | beliebig | |||||||
composed-name | A...Z | alphanumerische Zeichenfolge, die in mehrere | ||||||
c-string | EBCDIC-Zeichen | ist in Hochkommata einzuschließen; | ||||||
date | 0...9 | Eingabeformat: jjjj-mm-tt
| ||||||
device | A...Z | Zeichenfolge, die maximal 8 Zeichen lang ist | ||||||
fixed | +, - | Eingabeformat: [zeichen][ziffern].[ziffern]
muss mindestens eine Ziffer, darf aber außer | ||||||
filename | A...Z | Eingabeformat: [:cat:][$user.]{ datei/ datei(nr) / gruppe / gruppe{ (*abs) / (+rel) / (-rel) } } :cat: wahlfreie Angabe der Katalogkennung; $user.
datei Datei- oder Jobvariablenname; i mit Bindestrich beginnen oder enden;
# oder @ als erstes Zeichen kennzeichnet je datei(nr) Banddateiname gruppe Name einer Dateigenerationsgruppe gruppe { (*abs) / (+rel) / (-rel) } (*abs) absolute Generationsnummer (1..9999); (+rel) relative Generationsnummer (0..99); | ||||||
integer long-integer | 0...9, +, - | + bzw. - kann nur erstes Zeichen (Vorzeichen) | ||||||
name | A...Z | darf nicht mit einer Ziffer beginnen. | ||||||
partial-filename | A...Z | Eingabeformat: [:cat:][$user.][teilname.] :cat: teilname wahlfreie Angabe des gemeinsamen ersten | ||||||
posix-filename | A...Z | Zeichenfolge, die maximal 255 Zeichen lang ist. | ||||||
posix-pathname | A...Z | Eingabeformat: [/]part1[/.../partn] | ||||||
product-version | A...Z | Eingabeformat: [[C]'][V][m]m.naso['] wobei m, n, s und o jeweils eine Ziffer und a ein a = Freigabestand
product-version kann in Hochkommata | ||||||
structured-name | A...Z | alphanumerische Zeichenfolge, die in mehrere | ||||||
text | beliebig | Das Eingabeformat ist den jeweiligen | ||||||
time | 0...9 | Angabe einer Tageszeit Eingabeformat: { hh:mm:ss / hh:mm / hh }hh: Stunden mm: Minuten ss: Sekunden führende Nullen können weggelassen werden | ||||||
vsn |
|
| ||||||
x-string | Sedezimal: | ist in Hochkommata einzuschließen; | ||||||
x-text | Sedezimal: | ist nicht in Hochkommata einzuschließen; der |
Tabelle 2: Datentypen
Zusätze zu Datentypen
Zusatz | Bedeutung | |||||||||||||||||||
x..y unit x..y special | beim Datentyp integer: Intervallangabe
| |||||||||||||||||||
with -compl -low -pathcompl -under | Erweitert die Angabemöglichkeiten für einen Datentyp. Bei Angaben zu dem Datentyp date ergänzt SDF zweistellige
Groß- und Kleinschreibung wird unterschieden. Bei Angaben zu dem Datentyp filename ergänzt SDF die Katalog- und/oder Erlaubt Unterstriche ’_’ bei den Datentypen name und composed-name. |
Tabelle 3: Zusätze zu Datentypen
Zusatz | Bedeutung | |
with (Forts.) -wild(n) | Teile eines Namens dürfen durch die folgenden Platzhalter ersetzt werden. | |
BS2000- | Bedeutung | |
* Punkt am / <sx:sy> | Ersetzt eine beliebige, auch leere Zeichenfolge. Ein * an erster Teilqualifizierte Angabe eines Namens. Ersetzt genau ein beliebiges Zeichen. Ersetzt eine Zeichenfolge, für die gilt:
(sx oder sy)
(sx oder sy)
sy; Zahlen werden hinter Buchstaben sortiert (A...Z, 0...9)
| |
with-wild(n) (Forts.) | <s1,...> -s | Ersetzt alle Zeichenfolgen, auf die eine der mit s angegebenen Ersetzt alle Zeichenfolgen, die der angegebenen Zeichenfolge |
Platzhalter sind in Generations- und Versionsangaben von Dateinamen | ||
POSIX- | Bedeutung | |
* ? [cx-cy] [s] [!cx-cy] [!s] | Ersetzt eine beliebige, auch leere Zeichenfolge. Ein * an erster Ersetzt genau ein beliebiges Zeichen. Ist als erstes Zeichen Ersetzt genau ein Zeichen aus dem Bereich cx und cy ein- Ersetzt genau ein Zeichen aus der Zeichenfolge s. Ersetzt genau ein Zeichen, das nicht in dem Bereich cx und cy Ersetzt genau ein Zeichen, das nicht in der Zeichenfolge s | |
with (Forts.) - | Angabe einer Konstruktionszeichenfolge, die angibt, wie aus einer zuvor | |
Platzhalter | Bedeutung | |
* Punkt am / oder ? <n> | Entspricht der Zeichenfolge, die durch den Platzhalter * in der Entspricht der teilqualifizierten Angabe eines Namens in der Entspricht dem Zeichen, das durch den Platzhalter / oder ? in Entspricht der Zeichenfolge, die durch den n-ten Platzhalter in | |
Zuordnung der Platzhalter zu entsprechenden Platzhaltern in der
|
Tabelle 3: Zusätze zu Datentypen
Zusatz | Bedeutung | ||||||||||||||||||||
with-wildconstr(n) (Forts.) | Bei Konstruktionsangaben sind folgende Regeln zu beachten:
| ||||||||||||||||||||
with-wild- constr(n) | Beispiele:
1Punkt am Ende des Namens kann Namenskonvention widersprechen (z.B bei vollqualifizierten Dateinamen) | ||||||||||||||||||||
without -cat -corr -gen -man -odd -sep -tempfile -user -vers -wild | Schränkt die Angabemöglichkeiten für einen Datentyp ein. Die Angabe einer Katalogkennung ist nicht erlaubt. Eingabeformat: [[C]’][V][m]m.na[’] Angaben zum Datentyp product-version dürfen den Korrekturstand nicht enthalten. Die Angabe einer Dateigeneration oder Dateigenerationsgruppe ist nicht erlaubt. Eingabeformat: [[C]’][V][m]m.n[’] Angaben zum Datentyp product-version dürfen weder Freigabe- noch Korrekturstand enthalten. Der Datentyp x-text erlaubt nur eine gerade Anzahl von Zeichen. Beim Datentyp text ist die Angabe der folgenden Trennzeichen nicht erlaubt: ; = ( ) < > zu, Größerzeichen, Kleinerzeichen und Leerzeichen) Die Angabe einer temporären Datei ist nicht erlaubt (siehe #datei bzw. @datei bei filename). Die Angabe einer Benutzerkennung ist nicht erlaubt. Die Angabe der Version (siehe „datei(nr)“) ist bei Banddateien nicht erlaubt. Die Datentypen posix-filename bzw. posix-pathname dürfen keine | ||||||||||||||||||||
mandatory -corr -man -quotes | Bestimmte Angaben sind für einen Datentyp zwingend erforderlich. Eingabeformat: Angaben zum Datentyp product-version müssen den Korrekturstand (und damit auch den Freigabestand) enthalten. Eingabeformat: Angaben zum Datentyp product-version müssen den Freigabestand enthalten. Die Angabe des Korrekturstands ist optional möglich, wenn dies nicht durch den Zusatz without-corr untersagt wird. Angaben zu den Datentypen posix-filename bzw. posix-pathname müssen in Hochkommata eingeschlossen werden. |
Tabelle 3: Zusätze zu Datentypen