345>=123
345 >=123
345 >= 123
345 > = 123
Some of these characters may not be available in all character sets, and, if this is the case,
appropriate translations may be used. In particular, the vertical bar (|) or character is often shown
as a split vertical bar.
Throughout the language, the not character, ¬, is synonymous with the backslash (\). You can use
the two characters interchangeably according to availability and personal preference.
Special Characters
The following characters, together with the individual characters from the operators, have special
significance when found outside of literal strings:
,;:)(
These characters constitute the set of special characters. They all act as token delimiters, and
blanks adjacent to any of these are removed. There is an exception: a blank adjacent to the
outside of a parenthesis is deleted only if it is also adjacent to another special character (unless
the character is a parenthesis and the blank is outside it, too). For example, the language
processor does not remove the blank in A (Z). This is a concatenation that is not equivalent to
A(Z), a function call. The language processor does remove the blanks in (A) + (Z) because this
is equivalent to (A)+(Z).
The following example shows how a clause is composed of tokens.
'REPEAT' A + 3;
This is composed of six tokens—a literal string ('REPEAT'), a blank operator, a symbol (A, which may have
a value), an operator (+), a second symbol (3, which is a number and a symbol), and the clause delimiter
(;). The blanks between the A and the + and between the + and the 3 are removed. However, one of the
blanks between the 'REPEAT' and the A remains as an operator. Thus, this clause is treated as though
written:
'REPEAT' A+3;
Implied Semicolons
The last element in a clause is the semicolon delimiter. The language processor implies the semicolon: at
a line-end, after certain keywords, and after a colon if it follows a single symbol. This means that you need
to include semicolons only when there is more than one clause on a line or to end an instruction whose
last character is a comma.
A line-end usually marks the end of a clause and, thus, REXX implies a semicolon at most end of lines.
However, there are the following exceptions:
v The line ends in the middle of a string.
v The line ends in the middle of a comment. The clause continues on to the next line.
v The last token was the continuation character (a comma) and the line does not end in the middle of a
comment. (Note that a comment is not a token.)
REXX automatically implies semicolons after colons (when following a single symbol, a label) and after
certain keywords when they are in the correct context. The keywords that have this effect are: ELSE,
OTHERWISE, and THEN. These special cases reduce typographical errors significantly.
Note: The two characters forming the comment delimiters, /* and */, must not be split by a line-end (that
is, / and * should not appear on different lines) because they could not then be recognized
correctly; an implied semicolon would be added. The two consecutive characters forming a literal
quotation mark within a string are also subject to this line-end ruling.
REXX General Concepts
114
CICS TS for VSE/ESA: REXX Guide