CVS difference for ai12s/ai12-0061-1.txt

Differences between 1.8 and version 1.9
Log of other versions for file ai12s/ai12-0061-1.txt

--- ai12s/ai12-0061-1.txt	2016/02/16 03:20:40	1.8
+++ ai12s/ai12-0061-1.txt	2016/04/23 03:39:53	1.9
@@ -1,4 +1,4 @@
-!standard 4.3.3(5/2)                                15-08-07    AI12-0061-1/05
+!standard 4.3.3(5/2)                                16-04-22    AI12-0061-1/06
 !standard 4.3.3(6)
 !standard 4.3.3(17/3)
 !standard 4.3.3(20)
@@ -51,15 +51,17 @@
 
 !wording
 
-Append to the end of the long semicolon-separated list of 3.1(6/3):
+Add to long semicolon-separated list of 3.1(6/3), after
+component_declararation (these are given in the order that they appear
+in the Standard):
 
-    ; an iterated_component_association.
+    an iterated_component_association;
 
 Add after 3.3(6) (as a bulleted list item):
-    - The index parameter of an iterated_component_association.
+    - the index parameter of an iterated_component_association;
 
 Add after 3.3(18.1/3) (as a bulleted list item):
-    - The index parameter of an iterated_component_association.
+    - the index parameter of an iterated_component_association;
 
 Add ", iterated_component_association"
 in the comment-separated list of 3.3.1(23/3), immediately
@@ -77,7 +79,7 @@
 Add after 4.3.3(6) (at the end of the syntax section):
 
   The defining_identifier of an iterated_component_association
-  declares an index_parameter, an object of the corresponding index
+  declares an *index parameter*, an object of the corresponding index
   type.
 
 Modify 4.3.3(17/3):
@@ -87,7 +89,7 @@
 
 Append after 4.3.3(20) (at the end of the static semantics section)
 
-  The subtype (and nominal subtype) of an index_parameter is the
+  The subtype (and nominal subtype) of an index parameter is the
   corresponding index subtype.
 
 [We could define a more precise subtype, but the consensus at
@@ -95,7 +97,7 @@
 
 Add after 4.3.3(23.1/4):
 
-  During an evaluation of the expression an iterated_component_association,
+  During an evaluation of the expression of an iterated_component_association,
   the value of the corresponding index parameter is that of the
   corresponding index of the corresponding array component.
 
@@ -104,12 +106,12 @@
   expressions of the aggregate are evaluated in an arbitrary order",
   this implies that an index parameter can take on its values in an
   arbitrary order. This is different than, for example,
-  a loop_parameter.
+  a loop parameter.
 
 Add after 4.3.3(32/3):
 
    Note:
-     An index_parameter is a constant object (see 3.3).
+     An index parameter is a constant object (see 3.3).
 
 [The note is intended to be similar to the note 5.5(10).]
 
@@ -124,7 +126,7 @@
 [Because the nominal subtype for a loop_parameter was never defined.]
 
 Add after 8.1(4) (as a bulleted list item):
-   - An iterated_component_association;
+   - an iterated_component_association;
 
 Add to the list of 13.1.1(4.b/3): (after iterator specification)
    iterated_component_association -- NO
@@ -178,6 +180,183 @@
 their position in the array (so that they can communicate directly
 with the neighbors) without needing an initialization entry call
 (which necessarily would serialize the starting of the tasks).
+
+!corrigendum 3.1(6/3)
+
+@drepl
+Each of the following is defined to be a declaration: any @fa<basic_declaration>;
+an @fa<enumeration_literal_specification>; a @fa<discriminant_specification>;
+a @fa<component_declaration>; a @fa<loop_parameter_specification>;
+an @fa<iterator_specification>; a @fa<parameter_specification>;
+a @fa<subprogram_body>; an @fa<extended_return_object_declaration>;
+an @fa<entry_declaration>; an @fa<entry_index_specification>;
+a @fa<choice_parameter_specification>;
+a @fa<generic_formal_parameter_declaration>.
+@dby
+Each of the following is defined to be a declaration: any @fa<basic_declaration>;
+an @fa<enumeration_literal_specification>; a @fa<discriminant_specification>;
+a @fa<component_declaration>; an @fa<iterated_component_association>;
+a @fa<loop_parameter_specification>;
+an @fa<iterator_specification>; a @fa<parameter_specification>;
+a @fa<subprogram_body>; an @fa<extended_return_object_declaration>;
+an @fa<entry_declaration>; an @fa<entry_index_specification>;
+a @fa<choice_parameter_specification>;
+a @fa<generic_formal_parameter_declaration>.
+
+!corrigendum 3.3(6)
+
+@dinsa
+@xbullet<a loop parameter;>
+@dinst
+@xbullet<the index parameter of an @fa<iterated_component_association>;>
+
+!corrigendum 3.3(18.1/3)
+
+@dinsa
+@xbullet<a loop parameter unless specified to be a variable for a generalized loop (see 5.5.2);>
+@dinst
+@xbullet<the index parameter of an @fa<iterated_component_association>;>
+
+!corrigendum 3.3.1(23/3)
+
+@drepl
+@xindent<@s9<8 As indicated above, a stand-alone object is an object declared
+by an @fa<object_declaration>. Similar definitions apply to "stand-alone
+constant" and "stand-alone variable." A subcomponent of an object is not a
+stand-alone object, nor is an object that is created by an @fa<allocator>. An
+object declared by a @fa<loop_parameter_specification>,
+@fa<iterator_specification>,
+@fa<parameter_specification>, @fa<entry_index_specification>,
+@fa<choice_parameter_specification>, @fa<extended_return_statement>, or
+a @fa<formal_object_declaration> of mode @b<in out> is
+not considered a stand-alone object.>>
+@dby
+@xindent<@s9<8 As indicated above, a stand-alone object is an object declared
+by an @fa<object_declaration>. Similar definitions apply to "stand-alone
+constant" and "stand-alone variable." A subcomponent of an object is not a
+stand-alone object, nor is an object that is created by an @fa<allocator>. An
+object declared by a @fa<loop_parameter_specification>,
+@fa<iterator_specification>, @fa<iterated_component_association>,
+@fa<parameter_specification>, @fa<entry_index_specification>,
+@fa<choice_parameter_specification>, @fa<extended_return_statement>, or
+a @fa<formal_object_declaration> of mode @b<in out> is
+not considered a stand-alone object.>>
+
+!corrigendum 4.3.3(5/2)
+
+@drepl
+@xcode<@fa<array_component_association ::=
+    discrete_choice_list =@> expression
+  | discrete_choice_list =@> <@>>>
+@dby
+@xcode<@fa<array_component_association ::=
+    discrete_choice_list =@> expression
+  | discrete_choice_list =@> <@>
+  | iterated_component_association>>
+
+@xcode<@fa<iterated_component_association ::=
+    >@ft<@b<for>>@fa< defining_identifier >@ft<@b<in>>@fa< discrete_choice_list =@> expression>>
+
+!corrigendum 4.3.3(6)
+
+@dinsa
+An @i<n-dimensional> @fa<array_aggregate> is one that is written as n levels of
+nested @fa<array_aggregate>s (or at the bottom level, equivalent @fa<string_literal>s).
+For the multidimensional case (n >= 2) the @fa<array_aggregate>s (or equivalent
+@fa<string_literal>s) at the n1 lower levels are called @i<subaggregates> of the
+enclosing n-dimensional @fa<array_aggregate>. The @fa<expression>s of the bottom
+level subaggregates (or of the @fa<array_aggregate> itself if one-dimensional) are
+called the @i<array component expressions> of the enclosing n-dimensional
+@fa<array_aggregate>. 
+@dinst
+The @fa<defining_identifier> of an @fa<iterated_component_association>
+declares an @i<index parameter>, an object of the corresponding index type.
+
+!corrigendum 4.3.3(17/3)
+
+@drepl
+The @fa<discrete_choice_list> of an @fa<array_component_association> is allowed to
+have a @fa<discrete_choice> that is a nonstatic @fa<choice_expression> or that is a
+@fa<subtype_indication> or @fa<range> that defines a nonstatic or null range, only
+if it is the single @fa<discrete_choice> of its @fa<discrete_choice_list>, and there
+is only one @fa<array_component_association> in the @fa<array_aggregate>.
+@dby
+The @fa<discrete_choice_list> of an @fa<array_component_association> (including
+an @fa<iterated_component_association>) is allowed to
+have a @fa<discrete_choice> that is a nonstatic @fa<choice_expression> or that is a
+@fa<subtype_indication> or @fa<range> that defines a nonstatic or null range, only
+if it is the single @fa<discrete_choice> of its @fa<discrete_choice_list>, and there
+is only one @fa<array_component_association> in the @fa<array_aggregate>.
+
+!corrigendum 4.3.3(20)
+
+@dinsa
+A subaggregate that is a @fa<string_literal> is equivalent to one that is a
+@fa<positional_array_aggregate> of the same length, with each @fa<expression>
+being the @fa<character_literal> for the corresponding character of the
+@fa<string_literal>.
+@dinst
+The subtype (and nominal subtype) of an index parameter is the
+corresponding index subtype.
+
+!corrigendum 4.3.3(23.1/4)
+
+@dinsa
+Each @fa<expression> in an
+@fa<array_component_association> defines the value for the associated
+component(s). For an @fa<array_component_association> with <@>, the associated
+component(s) are initialized to the Default_Component_Value
+of the array type if this aspect has been specified for the array type;
+otherwise, they are initialized by default as for a stand-alone object of the
+component subtype (see 3.3.1).
+@dinst
+During an evaluation of the @fa<expression> of an
+@fa<iterated_component_association>, the value of the corresponding index
+parameter is that of the corresponding index of the corresponding array
+component.
+
+!corrigendum 4.3.3(32/3)
+
+@dinsa
+@xindent<@s9<NOTES@hr
+11  In an @fa<array_aggregate>, positional notation may only be used with two
+or more @fa<expression>s; a single @fa<expression> in parentheses is
+interpreted as a parenthesized expression. A @fa<named_array_aggregate>, such
+as (1 =@> X), may be used to specify an array with a single component.>>
+@dinst
+@xindent<@s9<12  An index parameter is a constant object (see 3.3).>>
+
+!corrigendum 4.3.3(43)
+
+@dinsa
+@xcode<D : Bit_Vector(M .. N) := (M .. N =@> True);         --@ft<@i< see 3.6>>
+E : Bit_Vector(M .. N) := (@b<others> =@> True);
+F : String(1 .. 1) := (1 =@> 'F');  --@ft<@i< a one component aggregate: same as "F">>>
+@dinst
+@xcode<G : @b<constant> Matrix :=
+    (@b<for> I @b<in> 1 .. 4 =@> 
+       (@b<for> J @b<in> 1 .. 4 =@> 
+          (@b<if> I=J @b<then> 1.0 @b<else> 0.0))); --@ft<@i< Identity matrix>>>
+
+
+!corrigendum 5.5(6)
+
+@drepl
+A @fa<loop_parameter_specification> declares a @i<loop parameter>,
+which is an object whose subtype is that defined by the
+@fa<discrete_subtype_definition>.
+@dby
+A @fa<loop_parameter_specification> declares a @i<loop parameter>,
+which is an object whose subtype (and nominal subtype) is that defined
+by the @fa<discrete_subtype_definition>.
+
+
+!corrigendum 8.1(4)
+
+@dinsa
+@xbullet<a @fa<loop_statement>;>
+@dinst
+@xbullet<an @fa<iterated_component_association>;
 
 !ASIS
 

Questions? Ask the ACAA Technical Agent