(j3.2006) [ukfortran] WG5 letter ballot on draft Corrigendum 3
Malcolm Cohen
malcolm
Thu Dec 12 02:26:50 EST 2013
Hi John,
>I have been struggling for a couple hours to decide whether to support
>Malcolm's recent replacement for interp f08/0086. I have decided that I cannot
>for the following reasons:
Instead of struggling and then voting no, why not ask questions? My reply to
innocent questions is usually more polite than my reply to bogus reasons for
voting no!
>1. The new edit for 96:24-25 begins "Replace sentence" rather than "Replace
>sentences". This restores the sentence "An implied-shape array is a named
>constant that takes its shape from the constant-expr in its declaration." While
>I agree with this change, if we are to approve the revised f08/0086 as part of
>this ballot, the wording needs to be altered so that it does not depend on the
>difference between "sentence" and "sentences".
I took the wording directly from the interp. It has "Replace sentence.".
Copy-paste made no change to that!
David changed "sentence"->"sentences" in the draft corrigendum claiming that
this was an error in N1987. It is certainly true that mjc002.txt, like N1987
and 13-007Ar1 and 13-007Ar2 and 13-007Ar3, has this edit poorly worded; but the
wording is not in fact ambiguous. If we had meant to replace the entire
paragraph (which is the effect of David's modification), we would likely have
written "replace entire paragraph 1" not "replace sentence".
Improving this wording to avoid possible misreading would be a trivial editorial
matter.
As it happens, the first sentence of paragraph 1 that this is so exercised about
is introductory waffle. It makes no difference whatsoever as to whether it
stays or goes, because the precise semantics are precisely specified in
paragraphs 2 and 3. (Which is another strike against this being a meaningful
change!) Apart from a microscopic preference for sticking with the actual
passed edit (i.e. "sentence") just for the sake of sticking with the actual
passed edit, I do not care even a little bit whether that sentence stays or
goes.
I apologise for accidentally correcting this, by copying the edit in the *actual
interp* as passed by WG5.
>2. The sentence at 96:28 is wrong for an implied-shape array that is declared
>with an asterisk. Separate wording is needed for the two cases.
No it is absolutely correct. A rank-one implied-shape array is declared with an
<implied-shape-or-assumed-size-spec>
which contains precisely one
<assumed-implied-spec>
I.e., in "REAL x(*)" we have activated the BNF (omitting the optional syntax
terms that are omitted in this example):
<type-declaration-stmt> ::= <declaration-type-spec> <entity-decl-list>
<entity-decl-list> ::= <entity-decl>
<entity-decl> ::= <object-name> ( <array-spec> )
<array-spec> ::= <implied-shape-or-assumed-size-spec>
<implied-shape-or-assumed-size-spec> :: = <assumed-implied-spec>
<assumed-implied-spec> ::= *
where the last three productions come from
[94:10+] Insert new production
"<<or>> <implied-shape-or-assumed-size-spec>".
{This will be the otherwise-ambiguous syntax.}
and
[95:37+] Insert new BNF rules and constraint
"R521a <implied-shape-or-assumed-size-spec> <<is>>
<assumed-implied-spec>
and
[95:33-] Insert new BNF term
"R520a <assumed-implied-spec> <<is>> [ <lower-bound> : ] *"
>3. I think the new right-hand side of R522 should be
> "<assumed-implied-spec-list>"
>to avoid forcing the rank to be at least 2.
Already answered in my reply to Van Snyder. You did notice he made the same
mistake you did, right? And that I pointed out it was already covered by the
immediately preceding edit which was already in the interp...
As in point 2, a rank-one implied-shape array is declared with an
<implied-shape-or-assumed-size-spec>
it is only rank>1 which is declared with R522. As the immediately-preceding
edit says.
***This was the whole point of the interp to split the rank-one case away from
rank>1 because the rank==1 case was ambiguous with respect to assumed-size
arrays.***
Here is the edit that I am referring to:
[96:24-25] 5.3.8.6p1
Replace sentence
"An implied-shape array ... <implied-shape-spec-list>."
with
"A named constant is declared to be an implied-shape array by an
<implied-shape-or-assumed-size-spec> or an <implied-shape-spec>."
{Now two ways of declaring implied shape.}
>4. In the edit for 95:33-, "<implied-assumed-spec>" should be
>"<assumed-implied-spec>" (already noted by Malcolm).
Yes, I already thanked Van for spotting this typo.
Cheers,
--
................................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the J3
mailing list