SYMBOL
The SYMBOL function returns the state of the symbol named by name.
SYMBOL returns BAD if name is not a valid REXX symbol. SYMBOL
returns VAR if it is the name of a variable (that is, a symbol that has been
assigned a value). Otherwise, returns LIT, indicating that it is either a constant
symbol or a symbol that has not yet been assigned a value (that is, a literal).
As with symbols in REXX expressions, lowercase characters in name are translated to uppercase and substitution in a compound name occurs if possible.
Note: Specify name as a literal string (or it should be derived from an
expression) to prevent substitution before it is passed to the function.
Examples
/* following: Drop A.3; J=3 */
SYMBOL('J') -> 'VAR'
SYMBOL(J) -> 'LIT' /* has tested "3" */
SYMBOL('a.j') -> 'LIT' /* has tested A.3 */
SYMBOL(2) -> 'LIT' /* a constant symbol */
SYMBOL('*') -> 'BAD' /* not a valid symbol */