The following table explains the specific metacharacters and declarations that are used to represent formats of macro calls:
Formal | Explanation | Example |
UPPERCASE | Uppercase letters designate constants and must be entered by the user exactly as shown. | DATATYPE=CATID |
Lowercase | Lowercase letters designate variables that must be replaced by the user with current values on input, i.e. they represent values that may differ from case to case. | SHORTST=integer |
Braces enclose multiple alternatives, i.e. one of the enclosed values must be selected. | Required input: | |
/ | A slash is used as a separator between two alternatives from which one must be selected | SYMTYP=CSECT/ENTRY |
Underscoring | Underscoring is used to indicate the default value, i.e. the value assumed by the system if no entry is made by the user. | PATTERN=*NO / addr |
. . . | Ellipses are used to indicate repetitions, i.e. the preceding unit may be repeated in succession more than once. | (module,...) |
list-poss(n) | Means that a list can be constructed from the values that follow list-poss(n). If (n) is specified, the list may include a maxi-mum of n elements. If the list contains more than one element, it must be enclosed within parentheses. | DEVCLAS=list-poss(2): |
[ ] | Square brackets enclose optional entries, i.e. specifications that may be omitted. If a comma is included with an optional entry within the square brackets, it must be entered only if that optional entry is used and may be omitted for the first operand. If the comma is located outside the brackets, it must always be entered even if none of the optional entries are made (parentheses, if any, must always be specified). |
Required input: in abbreviated form: |
equals sign = | The equals sign (=) separates the operand from the operand value. |
|
< > | Angle brackets identify the data type of the operand. |
|
Table 4: Elements of metasyntax
Data types of operand values
Data type | Character set | Notes |
c-string | EBCDIC | Must be enclosed within single quotes and specified without a leading “C”. Single quotes appearing in the string must be duplicated. The specification is followed by the meaning of its contents in SDF notation, separated by a colon. The suffix n..m defines the input length in bytes. |
x-string | Hexadecimal | Must be enclosed within single quotes and preceded by the letter X, i.e. in the form X ́xxxx ́. The suffix n..m defines the input length in bytes. |
name | A..Z, 0..9, $, #, @ | Identifier. The appropriate format is given under the relevant operand description. |
label | A..Z | Designates a label. |
integer | 0..9,+,- | A “+” or “-” may only be the first character. The suffix n..m defines the permitted range of values. |
var: | Introduces the specification of a variable. The data type of the variable is given after the colon (see following table). | |
reg: | Introduces a register specification (Register 0..15). The data type of the register contents is given after the colon. A register or register EQUATE may be used on input. |
Data types of operand values
Data types of variables and register contents
Data type | Description |
char:n | Designates a character string of length n. The string may be shorter, but only if |
int:n | Designates an integer with a length of n bytes, where n<=4. If the length is not |
bit:n | Designates a bit string of length n. If the length is not specified, n=1 is assumed. |
enum-of E:n | The variable is the enumeration E with a length of n bytes, where n<=4. If the |
pointer | Pointer (the address is passed).
with MF=M: register notation, address notation or symbolic address of a field LA 2,area ... MF=M,<operand>=(2) or
or LA 2,area ST 2,areaADD ... MF=M,<operand>=areaADD areaADD DS A |
Data types of variables and register contents