CVS difference for ais/ai-00395.txt
--- ais/ai-00395.txt 2005/05/15 23:28:59 1.9
+++ ais/ai-00395.txt 2005/06/16 23:47:38 1.10
@@ -1,4 +1,4 @@
-!standard 1.1.4(15) 05-05-05 AI95-00395/07
+!standard 1.1.4(15) 05-05-15 AI95-00395/08
!standard 2.1(01)
!standard 2.1(03)
!standard 2.1(04)
@@ -195,8 +195,8 @@
Change 6.1(10) to read:
The sequence of characters in an operator_symbol shall form a reserved word, a
-delimiter, or compound delimiter that corresponds to one of the six classes of
-operators defined in clause 4.5.
+delimiter, or compound delimiter that corresponds to an operator belonging
+to one of the six categories of operators defined in clause 4.5.
AARM Note: The "sequence of characters" of the string literal of the operator
is a technical term (see 2.6), and does not include the surrounding quote
@@ -331,12 +331,12 @@
Implementation Advice
-If an implementation chooses to provide implementation defined operations on
+If an implementation chooses to provide implementation-defined operations on
Wide_Character or Wide_String (such as case mapping, classification, collating
and sorting, etc.) it should do so by providing child units of
-Ada.Wide_Characters. Similarly if it chooses to provide implementation defined
+Wide_Characters. Similarly if it chooses to provide implementation-defined
operations on Wide_Wide_Character or Wide_Wide_String it should do so by
-providing child units of Ada.Wide_Wide_Characters.
+providing child units of Wide_Wide_Characters.
Add before A.3.2(2):
@@ -344,8 +344,8 @@
Replace A.3.2(13) by:
- -- The functions Is_Character, Is_String, To_Character, To_String,
- -- To_Wide_Character, and To_Wide_String are obsolescent; see J.14.
+ -- The functions Is_Character, Is_String, To_Character, To_String, To_Wide_Character,
+ -- and To_Wide_String are obsolescent; see J.14.
Delete A.3.2(14-18).
@@ -392,18 +392,21 @@
function Is_String (Item : in Wide_String) return Boolean;
function Is_Character (Item : in Wide_Wide_Character) return Boolean;
function Is_String (Item : in Wide_Wide_String) return Boolean;
- function Is_Wide_Character (Item : in Wide_Wide_Character) return Boolean;
- function Is_Wide_String (Item : in Wide_Wide_String) return Boolean;
+ function Is_Wide_Character (Item : in Wide_Wide_Character)
+ return Boolean;
+ function Is_Wide_String (Item : in Wide_Wide_String)
+ return Boolean;
function To_Wide_Character (Item : in Character) return Wide_Character;
function To_Wide_String (Item : in String) return Wide_String;
- function To_Wide_Wide_Character (Item : in Character) return
-Wide_Wide_Character;
- function To_Wide_Wide_String (Item : in String) return Wide_Wide_String;
- function To_Wide_Wide_Character (Item : in Wide_Character) return
-Wide_Wide_Character;
- function To_Wide_Wide_String (Item : in Wide_String) return
-Wide_Wide_String;
+ function To_Wide_Wide_Character (Item : in Character)
+ return Wide_Wide_Character;
+ function To_Wide_Wide_String (Item : in String)
+ return Wide_Wide_String;
+ function To_Wide_Wide_Character (Item : in Wide_Character)
+ return Wide_Wide_Character;
+ function To_Wide_Wide_String (Item : in Wide_String)
+ return Wide_Wide_String;
function To_Character (Item : in Wide_Character;
Substitute : in Character := ' ') return Character;
@@ -559,9 +562,10 @@
!corrigendum 2.9(02)
@dprepl
-The following are the reserved words (ignoring upper/lower case distinctions):
+The following are the @i<reserved words> (ignoring upper/lower case
+distinctions):
@dby
-The following are the reserved words. Within a program, some or all of the
+The following are the @i<reserved words>. Within a program, some or all of the
letters of a reserved word may be in upper case, and one or more characters in
category @fa<other_format> may be inserted within or at the end of the reserved
word.
@@ -613,33 +617,33 @@
(spaces are not allowed and the case of letters is not significant).
@dby
The sequence of characters in an @fa<operator_symbol> shall form a reserved
-word, a delimiter, or compound delimiter that corresponds to one of the six
-classes of operators defined in clause 4.5.
+word, a delimiter, or compound delimiter that corresponds to an operator
+belonging to one of the six categories of operators defined in clause 4.5.
!corrigendum A.1(36)
@drepl
-@xcode< -- @ft<@i<The predefined operators for the type Character are the same as for>>
- -- @ft<@i<any enumeration type.>>
+@xcode< --@ft<@i< The predefined operators for the type Character are the same as for>>
+ --@ft<@i< any enumeration type.>>
- -- @ft<@i<The declaration of type Wide_Character is based on the standard ISO 10646 BMP character set.>>
- -- @ft<@i<The first 256 positions have the same contents as type Character. See 3.5.2.>>
+ --@ft<@i< The declaration of type Wide_Character is based on the standard ISO 10646 BMP character set.>>
+ --@ft<@i< The first 256 positions have the same contents as type Character. See 3.5.2.>>
@b<type> Wide_Character @b<is> (@i<nul>, @i<soh> ... @i<FFFE>, @i<FFFF>);
@b<package> ASCII @b<is> ... @b<end> ASCII; --@ft<@i<Obsolescent; see J.5>>>
@dby
-@xcode< -- @ft<@i<The predefined operators for the type Character are the same as for>>
- -- @ft<@i<any enumeration type.>>
+@xcode< --@ft<@i< The predefined operators for the type Character are the same as for>>
+ --@ft<@i< any enumeration type.>>
- -- @ft<@i<The declaration of type Wide_Character is based on the standard ISO/IEC 10646:2003 BMP character set.>>
- -- @ft<@i<The first 256 positions have the same contents as type Character. See 3.5.2.>>
+ --@ft<@i< The declaration of type Wide_Character is based on the standard ISO/IEC 10646:2003 BMP character>>
+ --@ft<@i< set. The first 256 positions have the same contents as type Character. See 3.5.2.>>
@b<type> Wide_Character @b<is> (@i<nul>, @i<soh> ... @i<Hex_0000FFFE>, @i<Hex_0000FFFF>);
- -- @ft<@i<The declaration of type Wide_Wide_Character is based on the full>>
- -- @ft<@i<ISO/IEC 10646:2003 character set. The first 65536 positions have the>>
- -- @ft<@i<same contents as type Wide_Character. See 3.5.2.>>
+ --@ft<@i< The declaration of type Wide_Wide_Character is based on the full>>
+ --@ft<@i< ISO/IEC 10646:2003 character set. The first 65536 positions have the>>
+ --@ft<@i< same contents as type Wide_Character. See 3.5.2.>>
@b<type> Wide_Wide_Character @b<is> (@i<nul>, @i<soh> ... @i<Hex_7FFFFFFE>, @i<Hex_7FFFFFFF>);
@b<for> Wide_Wide_Character'Size @b<use> 32;
@@ -651,35 +655,35 @@
@drepl
The Package Characters
@dby
-The Packages Characters, Wide_Characters and Wide_Wide_Characters
+The Packages Characters, Wide_Characters, and Wide_Wide_Characters
!corrigendum A.3.1(02)
@dinsa
@xcode<@b<package> Ada.Characters @b<is>
- @b<pragma> Pure (Characters);
+ @b<pragma> Pure(Characters);
@b<end> Ada.Characters;>
@dinss
The library package Wide_Characters has the following declaration:
@xcode<@b<package> Ada.Wide_Characters @b<is>
- @b<pragma> Pure (Wide_Characters);
+ @b<pragma> Pure(Wide_Characters);
@b<end> Ada.Wide_Characters;>
The library package Wide_Wide_Characters has the following declaration:
@xcode<@b<package> Ada.Wide_Wide_Characters @b<is>
- @b<pragma> Pure (Wide_Wide_Characters);
+ @b<pragma> Pure(Wide_Wide_Characters);
@b<end> Ada.Wide_Wide_Characters;>
@i<@s8<Implementation Advice>>
-If an implementation chooses to provide implementation defined operations on
+If an implementation chooses to provide implementation-defined operations on
Wide_Character or Wide_String (such as case mapping, classification, collating
and sorting, etc.) it should do so by providing child units of
-Ada.Wide_Characters. Similarly if it chooses to provide implementation defined
+Wide_Characters. Similarly if it chooses to provide implementation-defined
operations on Wide_Wide_Character or Wide_Wide_String it should do so by
-providing child units of Ada.Wide_Wide_Characters.
+providing child units of Wide_Wide_Characters.
!corrigendum A.3.2(02)
@@ -697,7 +701,8 @@
@xcode< --@ft<@i<Classifications of and conversions between Wide_Character and Character.>>>
@dby
@xcode< --@ft<@i<The functions Is_Character, Is_String, To_Character,
-To_String, To_Wide_Character, and To_Wide_String are obsolescent; see J.14.>>>
+To_String, To_Wide_Character,>>
+ --@ft<@i<and To_Wide_String are obsolescent; see J.14.>>>
!corrigendum A.3.2(14)
@@ -748,22 +753,22 @@
!corrigendum A.3.4(01)
@dinsc
-The library package Ada.Characters.Conversions has the following declaration:
+The library package Characters.Conversions has the following declaration:
@xcode<@b<package> Ada.Characters.Conversions @b<is>
- @b<pragma> Pure (Conversions);
+ @b<pragma> Pure(Conversions);
- @b<function> Is_Character (Item : @b<in> Wide_Character) @b<return> Boolean;
- @b<function> Is_String (Item : @b<in> Wide_String) @b<return> Boolean;
- @b<function> Is_Character (Item : @b<in> Wide_Wide_Character) @b<return> Boolean;
- @b<function> Is_String (Item : @b<in> Wide_Wide_String) @b<return> Boolean;
- @b<function> Is_Wide_Character (Item : @b<in> Wide_Wide_Character) @b<return> Boolean;
- @b<function> Is_Wide_String (Item : @b<in> Wide_Wide_String) @b<return> Boolean;
+ @b<function> Is_Character (Item : @b<in> Wide_Character) @b<return> Boolean;
+ @b<function> Is_String (Item : @b<in> Wide_String) @b<return> Boolean;
+ @b<function> Is_Character (Item : @b<in> Wide_Wide_Character) @b<return> Boolean;
+ @b<function> Is_String (Item : @b<in> Wide_Wide_String) @b<return> Boolean;
+ @b<function> Is_Wide_Character (Item : @b<in> Wide_Wide_Character)
+ @b<return> Boolean;
+ @b<function> Is_Wide_String (Item : @b<in> Wide_Wide_String)
+ @b<return> Boolean;
- @b<function> To_Wide_Character (Item : @b<in> Character)
- @b<return> Wide_Character;
- @b<function> To_Wide_String (Item : @b<in> String)
- @b<return> Wide_String;
+ @b<function> To_Wide_Character (Item : @b<in> Character) @b<return> Wide_Character;
+ @b<function> To_Wide_String (Item : @b<in> String) @b<return> Wide_String;
@b<function> To_Wide_Wide_Character (Item : @b<in> Character)
@b<return> Wide_Wide_Character;
@b<function> To_Wide_Wide_String (Item : @b<in> String)
@@ -828,17 +833,17 @@
@xcode<@b<function> To_Wide_Character (Item : @b<in> Wide_Wide_Character;
Substitute : @b<in> Wide_Character := ' ')
- @b<return> Wide_Character;>
+ @b<return> Wide_Character;>
@xindent<Returns the Wide_Character corresponding to Item if Is_Wide_Character(Item),
and returns the Substitute Wide_Character otherwise.>
-@xcode<@b<function> To_Wide_Wide_Character (Item : @b<in> Character) @b<return>
- Wide_Wide_Character;>
+@xcode<@b<function> To_Wide_Wide_Character (Item : @b<in> Character)
+ @b<return> Wide_Wide_Character;>
@xindent<Returns the Wide_Wide_Character X such that Character'Pos(Item) =
Wide_Wide_Character'Pos (X).>
@xcode<@b<function> To_Wide_Wide_Character (Item : @b<in> Wide_Character)
- @b<return> Wide_Wide_Character;>
+ @b<return> Wide_Wide_Character;>
@xindent<Returns the Wide_Wide_Character X such that Wide_Character'Pos(Item) =
Wide_Wide_Character'Pos (X).>
@@ -855,13 +860,14 @@
@xcode<@b<function> To_Wide_String (Item : @b<in> Wide_Wide_String;
Substitute : @b<in> Wide_Character := ' ')
- @b<return> Wide_String;>
+ @b<return> Wide_String;>
@xindent<Returns the Wide_String whose range is 1..Item'Length and each of whose
elements is given by To_Wide_Character of the corresponding element in Item
with the given Substitute Wide_Character.>
@xcode<@b<function> To_Wide_Wide_String (Item : @b<in> String) @b<return> Wide_Wide_String;
-@b<function> To_Wide_Wide_String (Item : @b<in> Wide_String) @b<return> Wide_Wide_String;>
+@b<function> To_Wide_Wide_String (Item : @b<in> Wide_String)
+ @b<return> Wide_Wide_String;>
@xindent<Returns the Wide_Wide_String whose range is 1..Item'Length and each of whose
elements is given by To_Wide_Wide_Character of the corresponding element in
Item.>
@@ -870,12 +876,12 @@
@drepl
@xcode< Character_Set : @b<constant> Wide_Maps.Wide_Character_Set;
- -- @ft<@i<Contains each Wide_Character value WC such that>>
- -- @ft<@i<Characters.Is_Character(WC) is True>>>
+ --@ft<@i< Contains each Wide_Character value WC such that>>
+ --@ft<@i< Characters.Is_Character(WC) is True>>>
@dby
@xcode< Character_Set : @b<constant> Wide_Maps.Wide_Character_Set;
- -- @ft<@i<Contains each Wide_Character value WC such that>>
- -- @ft<@i<Characters.Conversions.Is_Character(WC) is True>>>
+ --@ft<@i< Contains each Wide_Character value WC such that>>
+ --@ft<@i< Characters.Conversions.Is_Character(WC) is True>>>
Each Wide_Character_Set constant in the package
Strings.Wide_Maps.Wide_Constants contains no values outside the Character
@@ -898,7 +904,7 @@
Facilities for handling strings of Wide_Wide_Character elements are found in
the packages Strings.Wide_Wide_Maps, Strings.Wide_Wide_Fixed,
Strings.Wide_Wide_Bounded, Strings.Wide_Wide_Unbounded, and
-Strings.Wide_Wide_Maps.Wide_Wide_Constants, and in the function
+Strings.Wide_Wide_Maps.Wide_Wide_Constants, and in the functions
Strings.Wide_Wide_Hash and Strings.Wide_Wide_Unbounded.Wide_Wide_Hash. They
provide the same string-handling operations as the corresponding packages for
strings of Character elements.
@@ -910,7 +916,7 @@
@xcode<@b<package> Ada.Strings.Wide_Wide_Maps @b<is>
@b<pragma> Preelaborate(Wide_Wide_Maps);
- -- @ft<@i<Representation for a set of Wide_Wide_Character values:>>
+ --@ft<@i< Representation for a set of Wide_Wide_Character values:>>
@b<type> Wide_Wide_Character_Set @b<is private>;
@b<pragma> Preelaborable_Initialization(Wide_Wide_Character_Set);
@@ -921,7 +927,7 @@
Low : Wide_Wide_Character;
High : Wide_Wide_Character;
@b<end record>;
- -- @ft<@i<Represents Wide_Wide_Character range Low..High>>
+ --@ft<@i< Represents Wide_Wide_Character range Low..High>>
@b<type> Wide_Wide_Character_Ranges @b<is array> (Positive @b<range> <@>)
@b<of> Wide_Wide_Character_Range;
@@ -960,7 +966,7 @@
Right : @b<in> Wide_Wide_Character_Set)
@b<return> Boolean @b<renames> Is_Subset;
- -- @ft<@i<Alternative representation for a set of Wide_Wide_Character values:>>
+ --@ft<@i< Alternative representation for a set of Wide_Wide_Character values:>>
@b<subtype> Wide_Wide_Character_Sequence @b<is> Wide_Wide_String;
@b<function> To_Set (Sequence : @b<in> Wide_Wide_Character_Sequence)
@@ -972,8 +978,8 @@
@b<function> To_Sequence (Set : @b<in> Wide_Wide_Character_Set)
@b<return> Wide_Wide_Character_Sequence;
- -- @ft<@i<Representation for a Wide_Wide_Character to Wide_Wide_Character>>
- -- @ft<@i<mapping:>>
+ --@ft<@i< Representation for a Wide_Wide_Character to Wide_Wide_Character>>
+ --@ft<@i< mapping:>>
@b<type> Wide_Wide_Character_Mapping @b<is private>;
@b<pragma> Preelaborable_Initialization(Wide_Wide_Character_Mapping);
@@ -997,7 +1003,7 @@
@b<return> Wide_Wide_Character;
@b<private>
- ... -- @ft<@i<not specified by the language>>
+ ... --@ft<@i< not specified by the language>>
@b<end> Ada.Strings.Wide_Wide_Maps;>
The context clause for each of the packages Strings.Wide_Wide_Fixed,
@@ -1005,9 +1011,9 @@
Strings.Wide_Wide_Maps instead of Strings.Maps.
For each of the packages Strings.Fixed, Strings.Bounded, Strings.Unbounded, and
-Strings.Maps.Constants, and for functions String.Wide_Wide_Hash and
-Strings.Wide_Wide_Unbounded.Wide_Wide_Hash, the corresponding wide wide string
-package has the same contents except that
+Strings.Maps.Constants, and for functions String.Hash and
+Strings.Unbounded._Hash, the corresponding wide wide string
+package or function has the same contents except that
@xbullet<Wide_Wide_Space replaces Space>
@xbullet<Wide_Wide_Character replaces Character>
@@ -1031,10 +1037,10 @@
Strings.Wide_Wide_Maps.Wide_Wide_Constants:
@xcode< Character_Set : @b<constant> Wide_Wide_Maps.Wide_Wide_Character_Set;
- -- @ft<@i<Contains each Wide_Wide_Character value WWC such that>>
- -- @ft<@i<Characters.Conversions.Is_Character(WWC) is True>>
+ --@ft<@i< Contains each Wide_Wide_Character value WWC such that>>
+ --@ft<@i< Characters.Conversions.Is_Character(WWC) is True>>
Wide_Character_Set : @b<constant> Wide_Wide_Maps.Wide_Wide_Character_Set;
- -- @ft<@i<Contains each Wide_Wide_Character value WWC such that>>
+ --@ft<@i< Contains each Wide_Wide_Character value WWC such that>>
--@ft<@i< Characters.Conversions.Is_Wide_Character(WWC) is True>>>
Each Wide_Wide_Character_Set constant in the package
@@ -1044,7 +1050,7 @@
when applied to any element outside the Character portion of
Wide_Wide_Character.
-Pragma Pure is replaced by pragma Preelaborate in
+@fa<Pragma> Pure is replaced by @fa<pragma> Preelaborate in
Strings.Wide_Wide_Maps.Wide_Wide_Constants.
@xindent<@s9<NOTES@hr
Questions? Ask the ACAA Technical Agent