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

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

--- ai12s/ai12-0443-1.txt	2022/05/07 06:14:18	1.2
+++ ai12s/ai12-0443-1.txt	2022/06/14 23:39:33	1.3
@@ -1,4 +1,4 @@
-!standard 1.3(0)                                  22-05-05  AI12-0443-1/02
+!standard 1.3(0)                                  22-06-01  AI12-0443-1/03
 !standard N(0)
 !class presentation 22-04-25
 !status Amendment 1-2012 22-05-05
@@ -36,10 +36,10 @@
 Augment subclause 1.3 (Clause 3 in the ISO standard), Terms and Definitions, 
 with the following definitions:
 
-    • Types, Objects, and their Properties
+    • Types, Objects, and their Properties [Group T]
         * abstract type. a tagged type intended for use as an ancestor of
           other types, but which is not allowed to have objects of its own
-        * access type. a type that has values that designate aliased objects. 
+        * access type. a type that has values that designate aliased objects 
             * Note 1 on entry:  Access types correspond to “pointer types” or 
               “reference types” in some other languages.
         * accessibility level. a representation of the lifetime of an entity 
@@ -55,11 +55,11 @@
           from other types, its parent type or one of its progenitor types or 
           one of their ancestors
             * Note 1 on entry: Ancestor and descendant are inverse relationships.
-        * array type. a composite type whose components are all of the same type.
+        * array type. a composite type whose components are all of the same type
         * aspect. a specifiable property of an entity
-            * Note 1 on entry: An aspect may be specified by an 
+            * Note 1 on entry: An aspect can be specified by an 
               aspect_specification on the declaration of the entity. Some 
-              aspects may be queried via attributes.
+              aspects can be queried via attributes.
         * attribute. a characteristic or property of an entity that can be 
           queried, and in some cases specified
         * category of types. a set of types with one or more common properties,
@@ -107,7 +107,7 @@
             * Note 1 on entry: A discriminant for a task type can be used to
               pass data to a task of the type upon its creation.
         * dispatching subprogram.  a primitive operation of a tagged type
-            * Note 1 on entry: Dispatching subprograms provide  run-time 
+            * Note 1 on entry: Dispatching subprograms provide run-time 
               polymorphism. A dispatching subprogram can be called with 
               statically tagged operands, in which case the subprogram body
               invoked is determined at compile time. Alternatively, a
@@ -117,7 +117,7 @@
         * elementary type. a type that does not have components
         * enumeration type. a type defined by an enumeration of its values,
           which can be denoted by identifiers or character literals
-        * incomplete type. a view of a type that reveals only some of its 
+        * incomplete type. a view of a type that reveals only a few of its 
           properties
             * Note 1 on entry: The remaining properties are provided by the 
               full view given elsewhere. 
@@ -128,7 +128,7 @@
         * integer type. a type that represents signed or modular integers
             * Note 1 on entry: A signed integer type has a base range that
               includes both positive and negative numbers, and has operations
-              that may raise an exception when the result is outside the base
+              that can raise an exception when the result is outside the base
               range. A modular type has a base range whose lower bound is
               zero, and has operations with “wraparound” semantics. Modular
               types subsume what are called “unsigned types” in some other
@@ -170,7 +170,7 @@
         * predicate. an assertion that is expected to be True for all objects
           of a given subtype
         * primitive operations of a type. the operations (such as subprograms) 
-          declared together with the type declaration.
+          declared together with the type declaration
             * Note 1 on entry: Primitive operations are inherited by other types
               in the same derivation class of types.
         * private extension. a type that extends another type, with the
@@ -208,7 +208,7 @@
         * storage pool object. an object associated with one or more access 
           types from which the storage for objects created by allocators of
           the access type(s) is obtained
-            * Note 1 on entry: Some storage pools may be partitioned into 
+            * Note 1 on entry: Some storage pools can be partitioned into 
               subpools in order to support finer-grained storage management.
         * stream. a sequence of elements that can be used, along with the 
           stream-oriented attributes, to support marshalling and unmarshalling
@@ -217,14 +217,14 @@
           and predicates, which constrain the values of the type to the subset
           that satisfies the implied conditions
         * synchronized entity. an entity that can be safely operated on by 
-          multiple tasks concurrently.
+          multiple tasks concurrently
             * Note 1 on entry: A synchronized interface can be an ancestor 
               of a task or a protected type. Such a task or protected type is
               called a synchronized tagged type.
         * tagged type. a type whose objects each have a run-time type tag, 
           which indicates the specific type for which the object was 
           originally created
-            * Note 1 on entry: Tagged types may be extended with additional 
+            * Note 1 on entry: Tagged types can be extended with additional 
               components.
         * task type. a composite type used to represent active entities which 
           execute concurrently and that can communicate via queued task entries
@@ -243,12 +243,12 @@
         * view of an entity. a representation of an entity that reveals some 
           or all of the properties of the entity
             * Note 1 on entry: A single entity can have multiple views.
-    • Subprograms and their Properties
+    • Subprograms and their Properties [Group S]
         * function. a form of subprogram that returns a result and can be 
           called as part of an expression
         * overriding operation.  an operation that replaces an inherited 
           primitive operation
-            * Note 1 on entry: Operations may be marked explicitly as 
+            * Note 1 on entry: Operations can be marked explicitly as 
               overriding or not overriding.
         * postcondition. an assertion that is expected to be True when a given 
           subprogram returns normally
@@ -258,13 +258,16 @@
           can only be invoked by a statement
         * subprogram. a unit of a program that can be brought into execution
           in various contexts, with the invocation being a subprogram call that
-          may parameterize the effect of the subprogram through the passing of
+          can parameterize the effect of the subprogram through the passing of
           operands
             * Note 1 on entry: There are two forms of subprograms: functions, 
               which return values, and procedures, which do not.
-    • Other Syntactic constructs
+    • Other Syntactic constructs [Group C]
         * aggregate. a construct used to define a value of a composite type by
           specifying the values of the components of the type
+        * compilation unit. a program unit that is separately compiled
+            * Note 1 on entry: A compilation_unit contains either
+              the declaration, the body, or a renaming of a program unit.
         * construct. a piece of text (explicit or implicit) that is an instance
           of a syntactic category defined under “Syntax”
         * container aggregate. a construct used to define a value of a type that
@@ -274,14 +277,12 @@
           capabilities that are provided by all conforming implementations
             * Note 1 on entry: A construct is said to be part of the core language
               if it is defined in a core language clause or annex.
-          [Editor's note: I added this one as it is part of the response to ISO
-           comments #5 & 6, and we already have "specializes needs annex" defined
-           here. Wordsmithing welcome!]
-        * declaration. A declaration is a language construct that associates a
-          name with (a view of) an entity. A declaration may appear explicitly
-          in the program text (an explicit declaration), or may be supposed to
-          occur at a given place in the text as a consequence of the semantics
-          of another construct (an implicit declaration).
+        * declaration. a language construct that associates a name with (a
+          view of) an entity
+            * Note 1 on entry: A declaration can appear explicitly in the 
+              program text (an explicit declaration), or can be supposed to
+              occur at a given place in the text as a consequence of the
+              semantics of another construct (an implicit declaration).
         * generic unit. a template for a (nongeneric) program unit
             * Note 1 on entry: The template can be parameterized by objects, 
               types, subprograms, and packages.
@@ -291,15 +292,15 @@
           a generic unit
         * iterator. a construct that is used to loop over the elements of an 
           array or container
-            * Note 1 on entry: Iterators may be user defined, and may perform
+            * Note 1 on entry: Iterators can be user defined, and can perform
               arbitrary computations to access elements from a container.
         * iterator filter. a construct that is used to restrict the elements
           produced by an iteration to those for which a boolean condition 
           evaluates to True
         * library unit. a separately compiled program unit, which is a
           package, a subprogram, or a generic unit
-            * Note 1 on entry: Library units may have other (logically nested)
-              library units as children, and may have other program units
+            * Note 1 on entry: Library units can have other (logically nested)
+              library units as children, and can have other program units
               physically nested within them. A root library unit, together
               with its children and grandchildren and so on, form a subsystem.
         * master construct. one of certain executable constructs for which 
@@ -308,7 +309,7 @@
             * Note 1 on entry: Execution of a master construct is a master,
               with which objects and tasks are associated for the purposes of
               waiting and finalization.
-        * needed compilation unit.  a compilation unit that is needed to 
+        * needed compilation unit.  a compilation unit that is necessary to 
           produce an executable partition, because some entity declared or
           defined within the unit is used elsewhere in the partition
         * package. a program unit that defines the interface to a group of 
@@ -333,7 +334,7 @@
               instructions for optimization, listing control, etc. An 
               implementation can support additional (implementation-defined) 
               pragmas.
-        * program. a set of partitions, each of which may execute in a 
+        * program. a set of partitions, each of which can execute in a 
           separate address space, possibly on a separate computer
         * program unit. a language construct that is a package, a task unit, a
           protected unit, a protected entry, a generic unit, or an explicitly 
@@ -352,7 +353,11 @@
           conforming implementations
         * subunit.  the body of a program unit that can be compiled 
           separately from its enclosing program unit
-    • Run-time Actions
+    • Runtime Actions [Group R]
+        * assertion. a boolean expression that is expected to be True when
+          evaluated at certain specified places
+            * Note 1 on entry: Certain pragmas and aspects define various kinds
+              of assertions.
         * elaboration. the process by which a declaration achieves its 
           run-time effect
             * Note 1 on entry: Elaboration is one of the forms of execution.
@@ -369,7 +374,7 @@
             * Note 1 on entry: Each object and task is associated with a
               master. When a master is left, associated tasks are awaited 
               and associated objects are finalized.
-    • Exceptional Situations
+    • Exceptional Situations [Group E]
         * check. a test made during execution to determine whether a language
           rule has been violated
         * exception. a kind of exceptional situation

Questions? Ask the ACAA Technical Agent