Diese Syntaxbeschreibung basiert auf der SDF-Version 4.7. Die Syntax der SDF-Kommando-/Anweisungssprache wird im Folgenden in drei Tabellen erklärt.
Zu Tabelle 2 : Metasyntax
In den Kommando-/Anweisungsformaten werden bestimmte Zeichen und Darstellungsformen verwendet, deren Bedeutung in Tabelle 2 erläutert wird.
Zu Tabelle 3 : 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 3 beschriebenen Datentypen.
Die Beschreibung der Datentypen gilt für alle Kommandos und Anweisungen. Deshalb werden bei den entsprechenden Operandenbeschreibungen nur noch Abweichungen von Tabelle 3 erläutert.
Zu Tabelle 4 : 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:
case-sensitive | case-sens |
Für den Datentyp integer enthält Tabelle 4 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 4 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 4 erläutert.
Kennzeichnung | Bedeutung | Beispiele |
GROSSBUCHSTABEN | Großbuchstaben bezeichnen | HELP-SDF SCREEN-STEPS = *NO |
GROSSBUCHSTABEN in Halbfett | Großbuchstaben in Halbfett | GUIDANCE-MODE = *YES |
= | Das Gleichheitszeichen verbindet | GUIDANCE-MODE = *NO |
< > | Spitze Klammern kennzeichnen | SYNTAX-FILE = <filename 1..54> |
Unterstreichung | Der Unterstrich kennzeichnet den | GUIDANCE-MODE = *NO |
/ | Der Schrägstrich trennt alternative | NEXT-FIELD = *NO / *YES |
(...) | Runde Klammern kennzeichnen | ,UNGUIDED-DIALOG = *Y ES (...) / *NO |
[ ] | Eckige Klammern kennzeichnen | SELECT = [*BY-ATTRIBUTES](...) |
Einrückung | Die Einrückung kennzeichnet die | ,GUIDED-DIALOG = *Y ES (...) *Y ES(...) | SCREEN-STEPS = *NO / *YES |
| | Der Strich kennzeichnet | SUPPORT = *TAPE(...) *TAPE(...) | VOLUME = *ANY (...) | *ANY (...) | | ... |
, | Das Komma steht vor weiteren | 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 Alias: HPSDF |
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; | ||||||
filename (Forts.) |
# oder @ als erstes Zeichen kennzeichnet datei(nr) Banddateiname gruppe Name einer Dateigenerationsgruppe gruppe {(*abs) | (+rel) | (-rel) } (*abs) absolute Generationsnummer (1..9999); (+rel) relative Generationsnummer (0..99); | |||||||
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 Das letzte Zeichen von teilname muss ein | ||||||
posix-filename | A...Z | Zeichenfolge, die maximal 255 Zeichen lang ist. | ||||||
posix-pathname | A...Z | Eingabeformat: [/]part1[/.../partn] maximal 1023 Zeichen; | ||||||
product-version | A...Z | Eingabeformat: [[C]' ][V][m]m.naso[' ] a: Freigabestand wobei m, n, s und o jeweils eine Ziffer und a ein 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 wobei führende Nullen weggelassen werden | ||||||
vsn |
|
| ||||||
x-string | Sedezimal: | ist in Hochkommata einzuschließen; | ||||||
x-text | Sedezimal: | ist nicht in Hochkommata einzuschließen; der |
Zusätze zu Datentypen
Zusatz | Bedeutung | ||||||||||||||
x..y unit | beim Datentyp integer: Intervallangabe
| ||||||||||||||
x..y special | bei den übrigen Datentypen: Längenangabe
|
Zusatz | Bedeutung | |
with -compl -low -pathcompl -under | Erweitert die Angabemöglichkeiten für einen Datentyp. Bei Angaben zu dem Datentyp date ergänzt SDF zweistellige 20jj-mm-tt 19jj-mm-tt 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. | |
with (Forts.) -wild(n) | Teile eines Namens dürfen durch die folgenden Platzhalter ersetzt werden. | |
BS2000- | Bedeutung | |
* | Ersetzt eine beliebige, auch leere Zeichenfolge. Ein * an erster | |
Punkt am | Teilqualifizierte Angabe eines Namens. | |
/ | Ersetzt genau ein beliebiges Zeichen. | |
<sx:sy> | Ersetzt eine Zeichenfolge, für die gilt, a) wenn sx kürzer oder genauso lang wie sy ist:
b) wenn sx länger als sy ist:
| |
with-wild(n) (Forts.) | <s1,...> | Ersetzt alle Zeichenfolgen, auf die eine der mit s angegebenen |
-s | Ersetzt alle Zeichenfolgen, die der angegebenen Zeichenfolge | |
Platzhalter sind in Generations- und Versionsangaben von Dateinamen | ||
POSIX- | Bedeutung | |
* | Ersetzt eine beliebige, auch leere Zeichenfolge. Ein * an erster | |
? | Ersetzt genau ein beliebiges Zeichen. Ist als erstes Zeichen | |
[cx-cy] | Ersetzt genau ein Zeichen aus dem Bereich cx und cy ein- | |
[s] | Ersetzt genau ein Zeichen aus der Zeichenfolge s. | |
[!cx-cy] | Ersetzt genau ein Zeichen, das nicht in dem Bereich cx und cy | |
[!s] | Ersetzt genau ein Zeichen, das nicht in der Zeichenfolge s | |
with (Forts.) -wildconstr(n) | Angabe einer Konstruktionszeichenfolge, die angibt, wie aus einer zuvor | |
Platzhalter | Bedeutung | |
* | Entspricht der Zeichenfolge, die durch den Platzhalter * in der | |
Punkt am | Entspricht der teilqualifizierten Angabe eines Namens in der | |
/ oder ? | Entspricht dem Zeichen, das durch den Platzhalter / oder ? in | |
<n> | Entspricht der Zeichenfolge, die durch den n-ten Platzhalter in | |
Zuordnung der Platzhalter zu entsprechenden Platzhaltern in der
|
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 | Schränkt die Angabemöglichkeiten für einen Datentyp ein. | ||||||||||||||||||||
-cat | Die Angabe einer Katalogkennung ist nicht erlaubt. | ||||||||||||||||||||
-corr | Eingabeformat: [[C]'][V][m]m.na['] | ||||||||||||||||||||
-dig | Der Datentyp name erlaubt keine Ziffern. | ||||||||||||||||||||
-gen | Die Angabe einer Dateigeneration oder Dateigenerationsgruppe ist nicht | ||||||||||||||||||||
-man | Eingabeformat: [[C]'][V][m]m.n['] | ||||||||||||||||||||
-odd | Der Datentyp x-text erlaubt nur eine gerade Anzahl von Zeichen. | ||||||||||||||||||||
-sep | Beim Datentyp text ist die Angabe der folgenden Trennzeichen nicht | ||||||||||||||||||||
-spec | Der Datentyp name erlaubt keine Sonderzeichen. | ||||||||||||||||||||
without (Forts.) -tempfile | Die Angabe einer temporären Datei ist nicht erlaubt (siehe #datei bzw. | ||||||||||||||||||||
-user | Die Angabe einer Benutzerkennung ist nicht erlaubt. | ||||||||||||||||||||
-vers | Die Angabe der Version (siehe „datei(nr)“) ist bei Banddateien nicht erlaubt. | ||||||||||||||||||||
-wild | Die Datentypen posix-filename bzw. posix-pathname dürfen keine | ||||||||||||||||||||
mandatory | Bestimmte Angaben sind für einen Datentyp zwingend erforderlich. | ||||||||||||||||||||
-corr | Eingabeformat: | ||||||||||||||||||||
-man | Eingabeformat: | ||||||||||||||||||||
-quotes | Angaben zu den Datentypen posix-filename bzw. posix-pathname müssen | ||||||||||||||||||||
c | Bei Angaben zu den Datentypen command-rest bzw. text wird Groß- und |