2.1 Character Set
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.
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
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.
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.
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.
Characters are categorized
as follows:
This paragraph was deleted.
Any character whose General Category is defined to be “Letter,
Uppercase”.
Any character whose General Category is defined to be “Letter,
Lowercase”.
Any character whose General Category is defined to be “Letter,
Titlecase”.
Any character whose General Category is defined to be “Letter,
Modifier”.
Any character whose General Category is defined to be “Letter,
Other”.
Any character whose General Category is defined to be “Mark, Non-Spacing”.
Any character whose General Category is defined to be “Mark, Spacing
Combining”.
Any character whose General Category is defined to be “Number,
Decimal”.
Any character whose General Category is defined to be “Number,
Letter”.
Any character whose General Category is defined to be “Punctuation,
Connector”.
Any character whose General Category is defined to be “Other, Format”.
Any character whose General Category is defined to be “Separator,
Space”.
Any character whose General Category is defined to be “Separator,
Line”.
Any character whose General Category is defined to be “Separator,
Paragraph”.
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.
Any character whose General Category is defined to be “Other, Control”,
and which is not defined to be a format_effector.
Any character whose General Category is defined to be “Other, Private
Use”.
Any character whose General Category is defined to be “Other, Surrogate”.
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#.
The following names
are used when referring to certain characters (the first name is that
given in ISO/IEC 10646:2003):
graphic symbol | name | graphic symbol | name |
|
| | | |
|
" | 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
This paragraph was
deleted.
1 The characters in categories other_control,
other_private_use, and other_surrogate
are only allowed in comments.
2 The language does not specify the source
representation of programs.