Constant expressions
A constant expression is an expression in which each operation is intrinsic
and each primary is one of the following:
- A constant or a subobject of a constant.
- An array constructor where each element and the bounds and strides of
each implied-DO are expressions whose primaries are either constant
expressions or implied-DO variables.
- A structure constructor where each component is a constant expression.
- An elemental intrinsic function reference where each argument is a constant
expression.
- A transformational intrinsic function reference where each argument is
a constant expression.
-
A reference to the transformational intrinsic function NULL.

- A reference to an array inquiry function (except ALLOCATED),
a numeric inquiry function, the BIT_SIZE function, the KIND, LEN, or NEW_LINE function. Each argument is either a constant
expression or it is a variable whose properties inquired about are not assumed,
not defined by an expression that is not a constant expression, and not definable
by an ALLOCATE or pointer assignment statement.
- A constant expression enclosed in parentheses.
Examples of constant expressions
-48.9
name('Pat','Doe')
TRIM('ABC ')
(MOD(9,4)**3.5)