J3/06-172r2
Date: 8 May 2003
To: J3
From: Van Snyder
Subject: Feature creep -- regularization of DATA
INTRODUCTION
C557 [88:5-7] requires the in a [R528
87:29-30] to have primaries that are constants or subobjects of constants,
or DO variables of containing s, and requires that each
operation shall be intrinsic. C561 poses a similar constraint for
subscripts. Interestingly, C553, which is for s that are not
within s, the parallel requirement is posed in terms of
initialization expressions.
It would be simpler in standardese, and perhaps for processors as well, if
we reduced the number of expression patterns by requiring that those
expressions have to be initialization expressions. Other constraints
(C553, C564, C567) are already posed in terms of initialization
expressions.
EXAMPLE
One can write
DATA A(SIZE(A)/2) / 42 /
but one cannot write
DATA (B(SIZE(B)/2,I), I=1,5) / 5*42 /
EDITS
Edits refer to 04-007.
[87:30] Change DO bounds and step to initialization expressions:
" \smudge , \smudge
\smudge [, \smudge
\smudge ] )"
[88:5-7]
Delete C557 because the revised syntax covers it.
[88:12-15] "C561 (R528) In an or
that is a , any subscript
shall be an initialization expression, and any primary within that
subscript that is a shall be a DO variable of this
or a containing ."
[127:16+] Add to initialization expressions:
" (9a) A within a ,"