Throughout this book, syntax is described using the structure defined below.
Read the syntax diagrams from left to right, from top to bottom, following the path of the line.
The >>--- symbol indicates the beginning of a statement.
The ---> symbol indicates that the statement syntax is continued on the next line.
The >--- symbol indicates that a statement is continued from the previous line.
The --->< symbol indicates the end of a statement.
Diagrams of syntactical units other than complete statements start with the >--- symbol and end with the ---> symbol.
Required items appear on the horizontal line (the main path).
>>-STATEMENT--required_item------------------------------------><
Optional items appear below the main path.
>>-STATEMENT--+---------------+-------------------------------->< +-optional_item-+
If you can choose from two or more items, they appear vertically, in a stack. If you must choose one of the items, one item of the stack appears on the main path.
>>-STATEMENT--+-required_choice1-+----------------------------->< +-required_choice2-+
If choosing one of the items is optional, the entire stack appears below the main path.
>>-STATEMENT--+------------------+----------------------------->< +-optional_choice1-+ +-optional_choice2-+
If one of the items is the default, it appears above the main path and the remaining choices are shown below.
+-default_choice--+ >>-STATEMENT--+-----------------+------------------------------>< +-optional_choice-+ +-optional_choice-+
An arrow returning to the left above the main line indicates an item that can be repeated.
+-----------------+ V | >>-STATEMENT----repeatable_item-+------------------------------><
A repeat arrow above a stack indicates that you can repeat the items in the stack.
A set of vertical bars around an item indicates that the item is a fragment, a part of the syntax diagram that appears in greater detail below the main diagram.
>>-STATEMENT--| fragment |-------------------------------------><
fragment:
|--expansion_provides_greater_detail----------------------------|
Language keywords appear in uppercase (for example, SAY). They must be spelled exactly as shown but you can type them in upper, lower, or mixed case. Variables appear in all lowercase letters (for example, parmx). They represent user-supplied names or values.
Class and method names appear in mixed case (for example, .Object~new). They must be spelled exactly as shown but you can type them in upper, lower, or mixed case.
If punctuation marks, parentheses, arithmetic operators, or such symbols are shown, you must enter them as part of the syntax.
The following example shows how the syntax is described:
+-,------+ V | >>-MAX(----number-+--)-----------------------------------------><