!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.) ****************************************************************