[Up] [SIGAda] [ACM]

ASIS ISO Standardization SC22 Ballot - US Comments


Attached please find 22 comments for the ASIS Ballot. They are ordered by clause. Each comment is marked as a technical and/or editorial issue together with information on its level of importance.

  1. Clause 1.1.3.1 (Implementation conformance requirements) needs to address the issue of categorization pragmas. ASIS needs a sensible policy in the use of pragmas which couldchange the semantics of an ASIS implementation. Technical; very important - must be resolved in the final standard.
  2. Clause 2.2 (ASIS queries) should have additional descriptions for context and operations on elements. The following additional figures and descriptive text should be provided: relationship between the Ada environment and the ASIS context, compilation unit from a black box perspective, compilation unit from a white box perspective, and a figure depicting the operations on an element. Technical and Editorial; nice to have.
  3. Clause 2.2.3.5 (Semantic references) Figure 3 incorrectly demonstrates the use of Corresponding_Type_Declaration as the reference is to a predefined type. Either a user-defined type should be provided for the example or the example should use Corresponding_Name_Definition. Technical and Editorial; important - must be resolved in the final standard.
  4. Clause 3.12.3 (type Unit_Orgins) states "Ada predefined language environment units defined in Annex A." These units are "listed" in Annex A (2); several are defined elsewhere. Editorial; nice to have.
  5. Clause 10.11 (function Corresponding_Children) A_Package_Instantiation appears as part of the Appropriate Unit_Kinds. This should be A_Package_Instance instead. A_Package_Instantiation is a declaration kind, not a unit kind. Editorial; important - must be resolved in the final standard.
  6. Clause 10.17 (function Is_Equal) and Clause 10.18 (function Is_Identical) should not discriminate based on compilation time stamp. Instead, they should discriminate based on compilation unit name, program text, and features allowed by ISO/IEC 8652:1995 (Ada 95). Technical; important - should be resolved in the final standard.
  7. Clause 10.32 (function Subunits) should include the following appropriate Unit_Kinds: A_Procedure_Body, A_Function_Body, A_Package_Body, A_Procedure_Body_Subunit, A_Function_Body_Subunit, A_Package_Body_Subunit, A_Task_Body_Subunit, and A_Protected_Body_Subunit. Editorial; nice to have.
  8. Clauses 13.33 (function Is_Part_of_Implicit), 15.45 (function Generic_Actual_Part), and 17.22 (function Actual_Parameter) reguire changes in the commentary concerning normalized generic associations. The commentary needs to address the semantics in the case for implicit predefined operations. Technical; important - should be resolved in the final standard. 9. Clause 15.26 (function Corresponding_Declaration) has the last two items wrong on each of the three lists. The last two items on the first list should be A_Protected_Body_Declaration and A_Protected_Body_Stub. The last two items on the second and third list should be A_Protected_Type_Declaration and A_Single_Protected_Declaration. Technical and Editorial; important - should be resolved in the final standard.
  9. Clauses 15.26 (function Corresponding_Declaration) and 15.27 (Corresponding_Body) should also return A_Formal_Package_Declaration and A_Formal_Package_Declaration_With_Box. Technical; important - should be resolved in the final standard.
  10. Clauses 15.26 (Corresponding_Declaration) and 15.27 (Corresponding_Body) need to add generic_renaming_declarations as appropriate parameters. Technical; important - should be resolved in the final standard.
  11. Clause 15.27 (function Corresponding_Body) needs A_Package_Renaming_Declaration removed from the list of returned Declaration_Kinds. Editorial; nice to have.
  12. Clause 15.29 (function Corresponding_Type) should return Definition_Kinds: A_Type_Definition. Editorial; important - should be resolved in the final standard.
  13. Clause 16.4 (function Implicit_Inherited_Declarations) should identify the returned Declaration_Kinds as: An_Enumeration_Literal_Specification, A_Discriminant_Specification, A_Component_Declaration, A_Procedure_Declaration, A_Function_Declaration, and An_Entry_Declaration. Editorial; nice to have.
  14. Clause 17 (package Asis.Expressions) should have interfaces for Is_Dispatching_Operation and Corresponding_Called_Function_Unwound. The procedure counterparts in Clause 18 (package Asis.Statements) should have interfaces for Is_Dispatching_Call and Corresponding_Called_Entity_Unwound. These are necessary to support OOP queries. Technical; important - should be resolved in the final standard.
  15. Clause 17.1 (function Corresponding_Expression_Type) requires clarification concerning the return of elements for task objects. Currently either a Nil_Element or A_Task_Type_Declaration are possible. Editorial; nice to have.
  16. Clause 17.1 (function Corresponding_Expression_Type) requires clarification concerning the unwinding of subtypes and derived types. Technical; important - should be resolved in the final standard.
  17. Clause17.1 (function Corresponding_Expression_Type) should identify general rules for the return of Nil_Element for the cases when an Expression actually does not represent an Ada expression having an Ada type such as an enumeration_aggregate which is part of an enumeration_representation_clause. Technical; important - should be resolved in the final standard.
  18. Clause 17.21 (function Formal_Parameter) needs to include the return of An_Operator_Symbol Element. Editorial; important - should be resolved in the final standard.
  19. Clause 17.26 (function Is_Defaulted_Association) should have the An_Array_Component_Association removed from the expected Association_Kinds list. An_Array_Component_Association can never be in the normalized form, and it can never have any default expression passed for an array component. Also A_Discriminant_Association and A_Record_Component_Association should be removed from the list of expected Association_Kinds because they also can never have default expressions (even though they can be normalized). Also the note should be flagged with a sentinel and moved to the end of the clause. Technical and Editorial; important - should be resolved in the final standard.
  20. Clause 18.20 (function Corresponding_Loop_Exited) should include Element_Kinds returned as: A_Loop_Statement, A_While_Loop_Statement,and A_For_Loop_Statement. Editorial; nice to have.
  21. Clause 20.1 (type Line) and 20.13 (function Is_Nil) require clarification on the difference between an empty line and a Nil_line. Technical and Editorial; important - should be resolved in the final standard.
  22. Appendix B examples should replace use of String with the use of Wide_String and Program_Text. Technical and Editorial; important - should be resolved in the final standard.


[Up] [SIGAda] [ACM]

Last update 20 March 1998. Questions, comments to Clyde Roby (CRoby@IDA.Org)