Product SiteDocumentation Site

7.4.64. SYMBOL


>>-SYMBOL(name)------------------------------------------------><

Returns the state of the symbol named by name. It returns BAD if name is not a valid Rexx symbol. It returns VAR if it is the name of a variable, that is, a symbol that has been assigned a value. Otherwise, it 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

You should specify name as a literal string, or it should be derived from an expression, to prevent substitution before it is passed to the function.
Here are some examples:

Example 7.86. Builtin function SYMBOL

/* 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 */