Syntax Symbols and Operand Definition Tables

#### Search Results

Search

# Syntax Symbols and Operand Definition Tables

This document covers the following topics:

- Syntax Symbols

- Operand Definition Table

## Syntax Symbols

The following symbols are used within the diagrams that describe the syntax of Natural statements:

Syntax Symbol | Description
--- | ---
`ABCDEF` | Upper-case non-italic letters indicate that the term is either a Natural keyword or a Natural reserved word that must be entered exactly as specified.
`ABCDEF` | If an optional term in upper-case letters is completely underlined (not a hyperlink!), this indicates that the term is the default value. If you omit the term, the underlined value applies.
`ABCDEF` | If a term in upper-case letters is partially underlined (not a hyperlink!), this indicates that the underlined portion is an acceptable abbreviation of the term.
`abcdef` | Letters in italics are used to represent variable information. You must supply a valid value when specifying this term. Note In place of statement or statements, you must supply one or several suitable statements, depending on the situation. If you do not want to supply a specific statement, you may insert the `IGNORE` statement.
`[ ]` | Elements contained within square brackets are optional. If the square brackets contain several lines stacked one above the other, each line is an optional alternative. You may choose at most one of the alternatives.
`{ }` | If the braces contain several lines stacked one above the other, each line is an alternative. You must choose exactly one of the alternatives.
`|` | The vertical bar separates alternatives.
`...` | A term preceding an ellipsis may optionally be repeated. A number after the ellipsis indicates how many times the term may be repeated. If the term preceding the ellipsis is an expression enclosed in square brackets or braces, the ellipsis applies to the entire bracketed expression.
`,...` | A term preceding a comma-ellipsis may optionally be repeated; if it is repeated, the repetitions must be separated by commas. A number after the comma-ellipsis indicates how many times the term may be repeated. If the term preceding the comma-ellipsis is an expression enclosed in square brackets or braces, the comma-ellipsis applies to the entire bracketed expression.
`:...` | A term preceding a colon-ellipsis may optionally be repeated; if it is repeated, the repetitions must be separated by colons. A number after the colon-ellipsis indicates how many times the term may be repeated. If the term preceding the colon-ellipsis is an expression enclosed in square brackets or braces, the colon-ellipsis applies to the entire bracketed expression.
Other symbols (except `[ ] { } | ... ,... :...`) | All other symbols except those defined in this table must be entered exactly as specified. Exception: The SQL scalar concatenation operator is represented by two vertical bars that must be entered literally as they appear in the syntax definition.

#### Example:

`WRITE` [`USING`] |  | `FORM` `MAP` |  | operand1 [operand2 ]

- `WRITE`, `USING`, `MAP` and `FORM` are Natural keywords which you must enter as specified.

- operand1 and operand2 are user-supplied variables for which you specify the names of the objects you wish to deal with.

- The braces indicate that you must choose whether to specify either `FORM` or `MAP`; however, you must specify one of the two.

- The square brackets indicate that `USING` and operand2 are optional elements which you can, but need not, specify.

- The ellipsis indicates that you may specify operand2 several times.

## Operand Definition Table

Whenever one or more operands appear in the syntax of a Natural statement, the following table is provided:

Operand | Possible Structure | Possible Formats | Referencing Permitted | Dynamic Definition
--- | --- | --- | --- | ---
operand1 | C | S | A | G | N/M | E | A | U | N | P | I | F | B | D | T | L | C | G | O | yes/no | yes/no

This table provides the following information on each operand:

### Possible Structure

Indicates the structure which the operand may take:

C | Constant.
S | Single occurrence (scalar; that is, a field/variable which is neither an array nor a group).
A | Array.
G | Group.
N/M | Natural system variable:
N | All system variables can be used.
M | Only modifiable system variables can be used. For information on whether the content of a system variable is modifiable or not, see the Natural System Variables documentation.
E | Arithmetic expressions.

### Possible Formats

Indicates the format which the operand may take:

A | Alphanumeric (ASCII code page)
U | Alphanumeric (Unicode)
N | Numeric unpacked
P | Packed numeric
I | Integer
F | Floating point
B | Binary
D | Date
T | Time
L | Logical
C | Attribute control
G | `HANDLE OF GUI`
O | `HANDLE OF OBJECT`

### Referencing Permitted

Indicates whether the operand may be referenced or not, using a statement label or the source code line number.

### Dynamic Definition

Indicates whether the field may be dynamically defined within the body of the program. This is possible in reporting mode only.

### On this page

- Syntax Symbols
- Operand Definition Table