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

Differences between 1.2 and version 1.3
Log of other versions for file ai12s/ai12-0426-1.txt

--- ai12s/ai12-0426-1.txt	2021/05/24 22:55:40	1.2
+++ ai12s/ai12-0426-1.txt	2021/05/28 04:51:23	1.3
@@ -1,5 +1,9 @@
-!standard 3.5.10(9)                                   21-05-22  AI12-0426-1/02
+!standard 3.5.6(7/2)                                   21-05-27  AI12-0426-1/03
+!standard 3.5.6(8)
+!standard 3.5.10(9)
+!standard 5.6.1(3/5)
 !standard A.18.33(24/3)
+!standard P(0)
 !class presentation 21-05-07
 !status Amendment 1-2012 21-05-07
 !status work item 21-05-07
@@ -21,6 +25,16 @@
 of three, and the first bullet ends with a semicolon (';'). Should it end with
 a semicolon, too? (Yes.)
 
+(3) In 3.5.6(7/2) and 3.5.6(8), the cross-references should be to G.2.1, 
+right? (Yes.)
+
+(4) 5.6.1(3/5) is labeled "Static Semantics", but the text is talking about
+runtime things. Should it be labeled "Dynamic Semantics"? (Yes.)
+
+(5) There is a useful section of Annex P, the Syntax Cross Reference, which is
+not mentioned in the table of contents (nor in the index, nor almost anywhere 
+else). Should we give it a subclause number? (Yes.)
+
 !recommendation
 
 (1) Certainly this should be "shorthand". The original comment also noted
@@ -31,9 +45,18 @@
 the third bullet (3.5.10(10)) must have been a last-minute addition, and the 
 punctuation wasn't changed properly.
 
+(3) Correct the cross-references.
+
+(4) Change the label.
+
+(5) Split Annex P into P, P.1, and P.2.
+
 !wording
 
+[Editor's note: These changes have been applied to Draft 30 of the RM, even
+though they are not yet approved, as they are not expected to need changes.]
 
+
 (1) Modify A.18.33(24/3):
 
 is a convenient {shorthand}[short hand] for
@@ -43,10 +66,89 @@
 
 (2) Replace the ending '.' with ';' in 3.5.10(9).
 
+(3) Replace "G.2" with "G.2.1" in 3.5.6(7/2) and 3.5.6(8).
+
+(4) No actual wording (just fix the label).
+
+(5) Split Annex P as follows, adding text and headings as indicated:
+
+Annex P - Syntax Summary
+
+This Annex summarizes the complete syntax of the language.{
+
+P.1  Syntax Rules
+
+This subclause lists the complete syntax of
+the language in the order it appears in this Reference Manual.}
+See 1.1.4 for a description of the notation used.
+
+@SyntaxSummary -- the actual syntax list appears here.
+
+{P.2 Syntax Cross Reference}
+
+In the following syntax cross reference, each
+syntactic category is followed by the subclause number where it is defined.
+In addition, each syntactic category S is followed by a list of the
+categories that use S in their definitions. For example, the first
+listing below shows that abort_statement appears in the definition of
+simple_statement.
+
+@SyntaxXRef -- the actual syntax cross-refernece appears here.
+
+[Editor's note: This does not appear in !corrigendum sections, that's
+intentional.]
+
+
 !discussion
 
 (See !recommendation.)
 
+!corrigendum 3.5.6(7/2)
+
+@drepl
+For the execution of a predefined operation of a real type, the implementation
+need not raise Constraint_Error if the result is outside the base range of the
+type, so long as the correct result is produced, or the Machine_Overflows 
+attribute of the type is False (see G.2).
+@dby
+For the execution of a predefined operation of a real type, the implementation
+need not raise Constraint_Error if the result is outside the base range of the
+type, so long as the correct result is produced, or the Machine_Overflows 
+attribute of the type is False (see G.2.1).
+
+
+!corrigendum 3.5.6(8)
+
+@drepl
+An implementation may provide @i<nonstandard real types>, descendants of
+@i<root_real> that are declared outside of the specification of package
+Standard, which need not have all the standard characteristics of a type 
+defined by a @fa<real_type_definition>. For example, a nonstandard real type
+might have an asymmetric or unsigned base range, or its predefined operations
+might wrap around or "saturate" rather than overflow (modular or saturating 
+arithmetic), or it might not conform to the accuracy model (see G.2). Any type
+descended from a nonstandard real type is also nonstandard. An implementation
+may place arbitrary restrictions on the use of such types; it is 
+implementation defined whether operators that are predefined for "any real 
+type" are defined for a particular nonstandard real type. In any case, such 
+types are not permitted as @fa<explicit_generic_actual_parameter>s for formal
+scalar types @emdash see 12.5.2.
+@dby
+An implementation may provide @i<nonstandard real types>, descendants of
+@i<root_real> that are declared outside of the specification of package
+Standard, which need not have all the standard characteristics of a type 
+defined by a @fa<real_type_definition>. For example, a nonstandard real type
+might have an asymmetric or unsigned base range, or its predefined operations
+might wrap around or "saturate" rather than overflow (modular or saturating 
+arithmetic), or it might not conform to the accuracy model (see G.2.1). Any type
+descended from a nonstandard real type is also nonstandard. An implementation
+may place arbitrary restrictions on the use of such types; it is 
+implementation defined whether operators that are predefined for "any real 
+type" are defined for a particular nonstandard real type. In any case, such 
+types are not permitted as @fa<explicit_generic_actual_parameter>s for formal
+scalar types @emdash see 12.5.2.
+
+
 !corrigendum 3.5.10(9)
 
 @drepl
@@ -92,4 +194,38 @@
 3.5.10(9)
 
 The bullet should end in a ';' not a '.'.
+
+****************************************************************
+
+From the WG 9 review, Issue #28
+
+3.5.6 (7/2), (8) Incorrect cross-references
+
+The references to G.2 should be to G.2.1.
+
+****************************************************************
+
+From the WG 9 review, Issue #10 - Tucker Taft
+
+There is a useful section of Annex P, the Syntax Cross Reference, which is 
+not mentioned in the table of contents (nor in the index, nor almost anywhere
+else). It would seem to make sense to give it a section number and mention it
+in the table of contents, and perhaps also in the index.
+
+[Editor's reply:]
+
+That was carried over from Ada 9x - it's always been true. I presume that
+there was some reason for that, but that was above my pay grade at the 
+time. :-)
+
+One possibility is the oddity of a subclause P.1 without any P.2. Maybe it 
+would be better to make the existing summary P.1 and the cross-reference P.2?
+
+[Tucker's reply:]
+
+I would suggest: 
+   P -- Syntax Summary 
+   P.1 -- Syntax Rules 
+   P.2 -- Syntax Cross-Reference
+
 ****************************************************************

Questions? Ask the ACAA Technical Agent