


Figurative constants are literals that are generated by the compiler through the use of reserved words. These words are described below. The singular and plural forms of the words are equivalent and may be used interchangeably.
1. ZERO, ZEROS, ZEROES Represents the numeric value "zero" or one or more occurrences of the character 0, depending on whether the constant is treated as a numeric or nonnumeric literal.
2. SPACE, SPACES Represents one or more space characters.
3. HIGH-VALUE, HIGH-VALUES Represents one or more characters with the highest ordinal position in the program collating sequence. Usually this is the hexadecimal value "FF".
4. LOW-VALUE, LOW-VALUES Represents one or more characters with the lowest ordinal position in the program collating sequence. Usually this is the binary value 0.
5. QUOTE, QUOTES Represents one or more quotation mark characters. These words may not be used in place of quotation marks for delimiting nonnumeric literals.
6. ALL Literal Represents all or part of the string generated by successive concatenations of the characters comprising the literal. The literal must be nonnumeric.
7. Symbolic Character Represents one or more of the characters defined as the value of this symbolic character in the SYMBOLIC CHARACTERS clause of the SPECIAL-NAMES paragraph.
8. NULL, NULLS Represents the numeric value "zero" or one or more occurrences of a character whose underlying representation is binary zero. This also represents an invalid memory address when it is used in conjunction with POINTER data types.
The word "ALL" may be placed in front of any of the preceding forms (except the ALL literal. Its use is redundant in this case.)
When a figurative constant represents a string of one or more characters, the length of the string is determined by the compiler from the context according to the following rules.
1. When a figurative constant is specified in a VALUE clause, or when it is associated with another data item (for example, when it is moved or compared to another data item), the string of characters specified by the figurative constant is repeated character by character on the right until the size of the resultant string is equal to the number of character positions in the associated data item.
2. When a figurative constant is not associated with another data item (for example in a DISPLAY, STRING, or UNSTRING statement), the length of the string is one occurrence of the ALL literal or one character in all other cases.
A figurative constant is valid anywhere a literal is. However, ZERO and NULL are the only valid figurative constants for a literal restricted to numeric literals.