Version 1.1 of ai05s/ai05-0255-1.txt

Unformatted version of ai05s/ai05-0255-1.txt version 1.1
Other versions for file ai05s/ai05-0255-1.txt

!standard 3.1(6/2)          11-06-16 AI05-0255-1/01
!standard 3.3.1(23)
!standard 8.1(2)
!class Amendment 11-06-16
!status work item 11-06-16
!status received 11-04-13
!priority Low
!difficulty Easy
!subject Missing text about user-defined iterators
!summary
!proposal
(1) A quantified expression is a new way of declaring an identifier
(via a loop_parameter_specification or iterator_specification); this means that the rules on declarative regions and scoping have to account for it, but this wasn't done.
I've gone through Chapter 8, and I think the only thing that needs to be done is to add, after 8.1(6) [or somewhere else in the list, if preferred]:
a quantified_expression.
(2) The language has added an iterator_specification, which is used
roughly in the same kinds of places that a loop_parameter_specification is allowed and declares an identifier like a loop_parameter_specification does. Thus, in most of the Stamdard, an iterator_specification should also be dealt with in places where a loop_parameter_specification is mentioned. In particular, iterator_specification needs to be added to 3.1(6). Also, 3.3.1(23) [which is a Note] and AARM sections 8.6(6.a) and 13.3.1(5.b) should include iterator_specification.
!wording
In 3.1(6/2), add "an iterator_specification" after "a loop_parameter_specification".
In 3.3.1(23), add "iterator_specification" after "a loop_parameter_specification".
Add after 8.1(2):
* a quantified_expression;
[This is list is roughly in the order of the appearance in the Standard. - Editor]
In 8.6(6.a), add "or iterator_specification" after "a loop_parameter_specification".
[Editor's note: I'm dubious of the need to do this. This note isn't trying to list all such things, just one example.]
In 13.3.1(4.b/3), add "iterator_specification -- NO".
[Editor's note: I already did this.]
!discussion
Is there anything else that need be done to allow these declarations??
!ACATS test
None needed.
!appendix

!topic Omissions in RM2012
!reference 8.1(6), 3.1(6), 3.3.1(23), AARM 8.6(6.a), 13.3.1(5.b)
!from Adam Beneschan 11-04-13
!discussion

A couple things I noticed that I think are missing from RM2012:

(1) A quantified expression is a new way of declaring an identifier
    (via a loop_parameter_specification or iterator_specification);
    this means that the rules on declarative regions and scoping have
    to account for it, but this wasn't done.

    I've gone through Chapter 8, and I think the only thing that needs
    to be done is to add, after 8.1(6) [or somewhere else in the list,
    if preferred]:

       a quantified_expression.

(2) The language has added an iterator_specification, which is used
    roughly in the same kinds of places that a
    loop_parameter_specification is allowed and declares an identifier
    like a loop_parameter_specification does.  Thus, in most of the
    RM, an iterator_specification should also be dealt with in places
    where a loop_parameter_specification is mentioned.  In particular,
    iterator_specification needs to be added to 3.1(6).  Also,
    3.3.1(23) [which is a Note] and AARM sections 8.6(6.a) and
    13.3.1(5.b) should include iterator_specification.  (I determined
    this by searching the text files currently available from
    www.ada-auth.org, which I know aren't quite up to date; so it's
    possible, but not likely, that there are other instances of
    loop_parameter_specification that I wasn't able to find.)

****************************************************************



Questions? Ask the ACAA Technical Agent