Руководство по Ada 2005
2.1 Набор символов
Репертуар символов для текста программы Ada состоит из всего кодировочного пространства, описанного в Международном стандарте ISO/IEC 10646:2003 Универсальный набор символов с кодировкой в нескольких октетах. Это кодировочное пространство организовано в плоскостях, каждая из которых содержит 65536 символов.
Синтаксис
Пункты 2 и 3 были удалены.
Символ определяется этим международным стандартом для каждой ячейки в кодировочном пространстве, описанном в ISO/IEC 10646:2003, независимо от того, выделяет ли ISO/IEC 10646:2003 символ для этой ячейки или нет.
Статическая семантика
Кодированное представление символов определяется реализацией (оно не обязательно должно быть определено в ISO/IEC 10646:2003). Символ, относительное кодовое положение которого в своей плоскости равно 16#FFFE# или 16#FFFF#, не допускается в тексте программы.
Семантика программы Ada, текст которой не находится в нормальной форме KC (как определено в разделе 24 ISO/IEC 10646:2003), определяется реализацией.
Описание определения языка в этом международном стандарте использует свойства символов «Общая категория», «Простое отображение в верхний регистр», «Отображение в верхний регистр» и «Условие специального случая» документов, на которые ссылается примечание в разделе 1 ISO/IEC 10646:2003. Актуальный набор графических символов, используемый реализацией для визуального представления текста программы Ada, не определен.
Символы категоризируются следующим образом:
Этот абзац был удален.
letter_uppercase
Любой символ, чья общая категория определена как «Буква, заглавная».
letter_lowercase
Любой символ, чья общая категория определена как «Буква, строчная».
letter_titlecase
Любой символ, чья общая категория определена как «Буква, прописная».
letter_modifier
Любой символ, чья общая категория определена как «Буква, модификатор».
letter_other
Любой символ, чья общая категория определена как «Буква, другая».
mark_non_spacing
Любой символ, чья общая категория определена как «Знак, без пробела».
mark_spacing_combining
Любой символ, чья общая категория определена как «Знак, с пробелом, объединяющий».
number_decimal
Любой символ, чья общая категория определена как «Число, десятичное».
number_letter
Любой символ, чья общая категория определена как «Число, буква».
punctuation_connector
Любой символ, чья общая категория определена как «Пунктуация, соединительный элемент».
other_format
Любой символ, чья общая категория определена как «Другое, формат».
separator_space
Любой символ, чья общая категория определена как «Разделитель, пробел».
separator_line
Любой символ, чья общая категория определена как «Разделитель, строка».
separator_paragraph
Любой символ, чья общая категория определена как «Разделитель, абзац».
format_effector
Символы, чьи кодовые позиции равны 16#09# (ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ), 16#0A# (КОНЕЦ СТРОКИ), 16#0B# (ТАБУЛЯЦИЯ СТРОКИ), 16#0C# (ФОРМАТ СТРАНИЦЫ), 16#0D# (ВОЗВРАТ КАРЕТКИ), 16#85# (СЛЕДУЮЩАЯ СТРОКА), и символы в категориях separator_line и separator_paragraph.
other_control
Любой символ, чья общая категория определена как «Другое, управляющий символ», и который не определён как format_effector.
other_private_use
Любой символ, чья общая категория определена как «Другое, личное использование».
other_surrogate
Любой символ, чья общая категория определена как «Другое, суррогат».
graphic_character
Любой символ, который не относится к категориям other_control, other_private_use, other_surrogate, format_effector и чьё относительное кодовое положение в плоскости не равно 16#FFFE# и 16#FFFF#.
Следующие имена используются при ссылке на определенные символы (первое имя — то, что указано в ISO/IEC 10646:2003):
| графический символ | название | графический символ | название | |
| " | кавычка | : | двоеточие | |
| # | знак номера | ; | точка с запятой | |
| & | амперсанд | < | меньше чем | |
| ' | апостроф | = | равно | |
| ( | левая круглая скобка | > | больше чем | |
| ) | правая круглая скобка | _ | нижнее подчеркивание | |
| * | звездочка | | | вертикальная черта | |
| + | плюс | / | слеш | |
| , | запятая | ! | восклицательный знак | |
| – | дефис | % | процент | |
| . | точка |
Разрешения реализации
Этот абзац был удален.
ПРИМЕЧАНИЯ
1 Символы в категориях other_control, other_private_use и other_surrogate разрешены только в комментариях.
2 Язык не определяет исходное представление программ.