Ada Resource Association
News and resources for the Ada programming language
Ada Reference ManualLegal Information
Contents   Index   References   Search   Previous   Next 

2.1 Character Set

1/2
The character repertoire for the text of an Ada program consists of the entire coding space described by the ISO/IEC 10646:2003 Universal Multiple-Octet Coded Character Set. This coding space is organized in planes, each plane comprising 65536 characters.

Syntax

Paragraphs 2 and 3 were deleted. 
3.1/2
A character is defined by this International Standard for each cell in the coding space described by ISO/IEC 10646:2003, regardless of whether or not ISO/IEC 10646:2003 allocates a character to that cell. 

Static Semantics

4/2
The coded representation for characters is implementation defined (it need not be a representation defined within ISO/IEC 10646:2003). A character whose relative code position in its plane is 16#FFFE# or 16#FFFF# is not allowed anywhere in the text of a program. 
4.1/2
  The semantics of an Ada program whose text is not in Normalization Form KC (as defined by section 24 of ISO/IEC 10646:2003) is implementation defined. 
5/2
The description of the language definition in this International Standard uses the character properties General Category, Simple Uppercase Mapping, Uppercase Mapping, and Special Case Condition of the documents referenced by the note in section 1 of ISO/IEC 10646:2003. The actual set of graphic symbols used by an implementation for the visual representation of the text of an Ada program is not specified.
6/2
Characters are categorized as follows: 
7/2
This paragraph was deleted.
8/2
letter_uppercase

Any character whose General Category is defined to be “Letter, Uppercase”.
9/2
letter_lowercase

Any character whose General Category is defined to be “Letter, Lowercase”. 
9.1/2
  letter_titlecase

Any character whose General Category is defined to be “Letter, Titlecase”.
9.2/2
  letter_modifier

Any character whose General Category is defined to be “Letter, Modifier”.
9.3/2
  letter_other
Any character whose General Category is defined to be “Letter, Other”.
9.4/2
  mark_non_spacing

Any character whose General Category is defined to be “Mark, Non-Spacing”.
9.5/2
  mark_spacing_combining

Any character whose General Category is defined to be “Mark, Spacing Combining”.
10/2
 number_decimal

Any character whose General Category is defined to be “Number, Decimal”.
10.1/2
   number_letter

Any character whose General Category is defined to be “Number, Letter”.
10.2/2
   punctuation_connector

Any character whose General Category is defined to be “Punctuation, Connector”.
10.3/2
   other_format

Any character whose General Category is defined to be “Other, Format”.
11/2
 separator_space

Any character whose General Category is defined to be “Separator, Space”.
12/2
 separator_line
Any character whose General Category is defined to be “Separator, Line”. 
12.1/2
   separator_paragraph

Any character whose General Category is defined to be “Separator, Paragraph”.
13/2
 format_effector

The characters whose code positions are 16#09# (CHARACTER TABULATION), 16#0A# (LINE FEED), 16#0B# (LINE TABULATION), 16#0C# (FORM FEED), 16#0D# (CARRIAGE RETURN), 16#85# (NEXT LINE), and the characters in categories separator_line and separator_paragraph.
13.1/2
   other_control

Any character whose General Category is defined to be “Other, Control”, and which is not defined to be a format_effector.
13.2/2
   other_private_use

Any character whose General Category is defined to be “Other, Private Use”.
13.3/2
   other_surrogate

Any character whose General Category is defined to be “Other, Surrogate”.
14/2
 graphic_character

Any character that is not in the categories other_control, other_private_use, other_surrogate, format_effector, and whose relative code position in its plane is neither 16#FFFE# nor 16#FFFF#. 
15/2
 The following names are used when referring to certain characters (the first name is that given in ISO/IEC 10646:2003):
  graphic symbolname  graphic symbolname
    
         "quotation mark         :colon
         #number sign         ;semicolon
         &ampersand         <less-than sign
         'apostrophe, tick         =equals sign
         (left parenthesis         >greater-than sign
         )right parenthesis         _low line, underline
         *asterisk, multiply         |vertical line
         +plus sign         /solidus, divide
         ,comma         !exclamation point
         –hyphen-minus, minus         %percent sign
         . full stop, dot, point  

Implementation Permissions

16/2
 This paragraph was deleted.
NOTES
17/2
1  The characters in categories other_control, other_private_use, and other_surrogate are only allowed in comments.
18
2  The language does not specify the source representation of programs. 

Contents   Index   References   Search   Previous   Next 
Ada-Europe Sponsored by Ada-Europe