<constant list>
┌◄──── , ────┐ ──┴─<constant>─┴───────────────────────────────────────────────────────┤
<constant>
──┬─<Boolean value>───────────────────────────────┬────────────────────┤ ├─<number>──────────────────────────────────────┤ ├─<constant expression>─────────────────────────┤ ├─<string literal>──────────────────────────────┤ └─<unsigned integer>── ( ──<constant list>── ) ─┘
<constant expression>
An arithmetic, Boolean, or complex expression that can be entirely evaluated at compilation time.
Each constant initializes an integral number of words. The number of words initialized depends on the type of the array and the kind of constant.
Single-precision numbers, single-precision expressions, Boolean values, and Boolean expressions initialize one word in value arrays other than complex, dinteger, or double value arrays. In double value arrays, this word is extended with a second word of 0 (zero). In dinteger value arrays, this word is converted to double integer representation. In complex value arrays, this word is normalized and then extended with an imaginary part of 0 (zero).
Double-precision numbers and expressions are stored unchanged in two words in double value arrays. In dinteger value arrays, the value is rounded and normalized to double integer. In complex value arrays, the value is rounded and normalized to single-precision and then extended with an imaginary part of 0 (zero). For other types of value arrays, the second word of the double-precision value is dropped and the first word initializes one word of the array.
Complex expressions can appear only in complex value arrays, and they initialize two words of the array.
String literals more than 48 bits long initialize as many words as are needed to contain the string and are left-justified with trailing zeros inserted in the last word, if necessary. In complex, dinteger, and double value arrays, long string literals can initialize an odd number of words, causing the following constant to start in the middle of a two-word element of the array.
String literals less than or equal to 48 bits long are right-justified within one word with leading zeros, if necessary. This word initializes one word in value arrays other than complex, dinteger, and double value arrays. In dinteger and double value arrays, this word is extended with a second word of 0 (zero). In complex value arrays, this word is normalized and then extended with an imaginary part of 0 (zero).
The <unsigned integer> (<constant list>) form of constant causes the values within the parentheses to be repeated the number of times specified by the unsigned integer.
The operating system overlays value arrays more efficiently than other arrays because value arrays need not be written to disk when their space in memory is relinquished.
The maximum size of an unpaged value array is 65,535 words; the maximum size of a paged value array is 524,287 words.

