(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