Elements of the metasyntax
Representation | Meaning | Examples |
UPPERCASE LETTERS | Uppercase letters are used for keywords or constants, which the user must enter exactly as they are shown. | DIB |
Lowercase letters | Lowercase letters denote data types of the values or variables which the user can specify. | DIB = <var: pointer> |
< > | Angle brackets denote variables whose range of values is described by the data types. | <var: pointer> |
Underscoring | Underscoring denotes the default value of an operand. If an operand does not have a default value, another value must be specified for it. | FORCED = *NO / *YES |
= | The equals sign connects an operand name with the associated operand values. | DATA = <var: pointer> |
/ | A slash serves to separate alternative operand values. | FORCED = *NO / *YES |
[ ] | Square brackets enclose optional entries, i.e entries which may be omitted. If the comma is inside the square brackets, it is needed only if this optional entry is used and may be omitted for the first operand in a command. If, | F[REE]SIZE Enter: |
list-poss(n) | The entry “list-poss” signifies that a list of operand values can be given at this point. If (n) is present, it means that the list must not have more than n elements. A list of more than one element must be enclosed in parentheses. | FLAG=list-poss(3): Specification: |
An operand is assigned an operand value from a defined range of values by means of the equals sign.
This value range is determined by a data type. The following table contains the data types of the operand values.
Data types of the operand values
Data type | Character set | Special rules |
c-string | EBCDIC character | Must be enclosed within single quotes |
integer | [+-] 0..2147483647 | Is a decimal number |
var: | Introduces a variable specification. | <var:var-type> |
reg: | Registers 0..15 | Specification: (<reg:var-type>) |
Suffixes for data types
Suffix | Meaning |
n..m | With data type “integer”, n..m means an interval specification; |
With data type “c-string”, n..m means a length specification in bytes; | |
n | With data type “c-string”, n means a length specification in bytes; |
The operand values can be entered directly as a character string or integer (see data types “c-string” and “integer”), or indirectly via a variable (see data type “var:”). The following table contains the possible data types for variables.
Data types for variables
Data type | Description | Definition in program |
char:n | The variable is a string of n characters. If the length specification is omitted, n=1 is assumed. | CLn |
int:n | The variable is an integer occupying n bytes. If the length specification is omitted, n=1 is assumed. | FLn |
enum-of E:n | The variable is the list E, which occupies n bytes. If the length specification is omitted, n=1 is assumed. (n <= 4) | XLn |
pointer | The variable is an address or an address value. | A |