Hello,
Is the 10206 spec not strict?
6.8.6.2 Indexed-function-accesses
An indexed-function-access shall denote a component of the value of a function-access possessing an array-type or a string-type.
indexed-function-access = array-function `[' index-expression { `,' index-expression } `]' j string-function `[' index-expression `]' .
array-function = function-access .
But:
6.8.6 Function accesses
function-access = entire-function-access | component-function-access | substring-function-access .
component-function-access = indexed-function-access | record-function-access .
entire-function-access = function-designator .
And:
6.8.5 Function-designators
function-designator = function-name [ actual-parameter-list ]
According to the productions an indexed-function-access => array-function => function-access=>indexed-function -access
Therefore, the only exit is via entire-function-access. But this would lead to a sentence of the form:
x( a,b,c)[ 6,7,8 ] being valid and it is not.
From:
6.8.6.2 Indexed-function-accesses
An indexed-function-access shall denote a component of the value of a function-access possessing an array-type or a string-type.
But this would be an identifier and the function-access productions do not indicate identifiers.
Are the productions not strict? Does function-access include identifiers?
Regards,
Paul Isaacs