CVS difference for ai05s/ai05-0188-1.txt

Differences between 1.18 and version 1.19
Log of other versions for file ai05s/ai05-0188-1.txt

--- ai05s/ai05-0188-1.txt	2011/03/03 07:33:16	1.18
+++ ai05s/ai05-0188-1.txt	2012/03/27 01:55:20	1.19
@@ -376,10 +376,6 @@
 
 (See !problem.)
 
-!ACATS test
-
-ACATS B and C tests are needed.
-
 !corrigendum 3.8.1(15)
 
 @drepl
@@ -600,6 +596,116 @@
 If the result subtype of the function is limited, then the
 @fa<expression> of the return statement (if any) shall meet the restrictions
 described in 7.5.
+
+
+!ACATS test
+
+ACATS B and C tests are needed.
+
+!ASIS
+
+In 3.7.19:
+add after A_Parenthesized_Expression:
+   A_Case_Expression,             --4.5.7
+   An_If_Expression,              --4.5.7
+
+In 3.7.23:
+add after Not_A_Path:
+   A_Case_Expression_Path,        --4.5.7
+                                      -- when expression => expression
+   An_If_Expression_Path,         --4.5.7
+                                      -- if condition then expression
+
+   An_Elsif_Expression_Path,      --4.5.7
+                                      -- elsif condition then expression
+
+   An_Else_Expression_Path,       --4.5.7
+                                      -- else expression 
+
+Add after 16.35:
+
+   16.36 function Expression_Paths 
+   function Expression_Paths
+     (Expression : Asis.Expression) return Asis.Path_List; 
+
+   Expression specifies the conditional expression to query.
+
+   Returns a list of the paths of the conditional expression, in their
+   order of appearance.
+
+   Expression expects an element that has one of the following
+   Expression_Kinds:
+      A_Case_Expression
+      An_If_Expression
+
+   Returns a list of elements that each have one of the following
+   Path_Kinds:
+      A_Case_Expression_Path
+      An_If_Expression_Path
+      An_Elsif_Expression_Path
+      An_Else_Expression_Path 
+
+
+  16.37 function Dependent_Expression 
+  function Dependent_Expression
+     (Path : Asis.Path) return Asis.Expression;
+
+   Path specifies the path of a conditional expression to query.
+
+   Returns the dependent expression of the conditional expression
+   path.
+
+   Path expects an element that has one of the following Path_Kinds:
+      A_Case_Expression_Path
+      An_If_Expression_Path
+      An_Elsif_Expression_Path
+      An_Else_Expression_Path
+   
+   Returns an element that has the followin Element_Kinds:
+      An_Expression 
+
+In 17.5:
+replace the line:
+   Returns the condition expression for an if path or an elsif path
+with:
+   Returns the condition expression for an if path, an elsif path,
+   an if expression path, or an elsif expression path.
+
+
+In 17.7:
+Change the second paragraph as follows:
+   Returns the expression of the case statement that determines which
+   execution path is taken, or the expression of the case expression
+   that determines which expression path is selected.
+  
+Add after A_Case_Statement:
+      A_Case_Expression
+
+In 17.8:
+Change the name of the function to Case_Path_Alternative_Choices.
+   
+   Add after A_Case_Path:
+      A_Case_Expression_Path
+
+
+Add after F.12.4:
+F.13 Obsolescent Features in package Asis.Statements
+
+F.13.1 Introduction for Obsolescent Features in package Asis.Statements
+
+   In addition to the interfaces defined in section 17, the library
+   package Asis.Statements also shall provide interfaces equivalent
+   to the obsolescent ones described in the following subclauses.
+
+F.13.2 function Case_Statement_Alternative_Choices
+
+   Function Case_Statement_Alternative_Choices is provided for
+   compatibility with previous editions of this standard. Use of this
+   function is not recommended in new programs.
+
+   function Case_Statement_Alternative_Choices
+     (Path : Asis.Path)
+      return Asis.Element_List renames Case_Path_Alternative_Choices;
 
 !appendix
 

Questions? Ask the ACAA Technical Agent