Spec-Zone.ru › Ada 2012
Справочник Ada 2012

2.1 Набор символов

Репертуар символов для текста программы Ada состоит из всего кодировочного пространства, описанного в стандарте ISO/IEC 10646:2011 Universal Multiple-Octet Coded Character Set. Это кодировочное пространство организовано в плоскости, каждая из которых содержит 65536 символов.

Синтаксис

Абзацы 2 и 3 были удалены.
Символ определяется этим международным стандартом для каждой ячейки кодировочного пространства, описанного в ISO/IEC 10646:2011, независимо от того, назначил ли ISO/IEC 10646:2011 символ этой ячейке.

Статическая семантика

Кодированное представление символов определяется реализацией (оно не обязательно должно быть определено в ISO/IEC 10646:2011). Символ, чьё относительное кодовое значение в своей плоскости равно 16#FFFE# или 16#FFFF#, не допускается в тексте программы. Единственными разрешёнными символами вне комментариев являются символы из категорий other_format, format_effector и graphic_character.
Семантика программы Ada, текст которой не находится в нормальной форме KC (как определено в разделе 21 ISO/IEC 10646:2011), определяется реализацией.
Описание языка в данном международном стандарте использует свойства символов «Общей категории», «Простое отображение в заглавные буквы», «Отображение в заглавные буквы» и «Особое условие» из документов, на которые ссылается примечание в разделе 1 ISO/IEC 10646:2011. Конкретный набор графических символов, используемых реализацией для визуального представления текста программы 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:2011):
графический символ название графический символ название
" кавычка : двоеточие
# знак номера ; точка с запятой
& амперсанд < знак меньше
' апостроф, тильд = знак равенства
( левая круглая скобка > знак больше
) правая круглая скобка _ нижнее подчеркивание
* звездочка, умножение | вертикальная черта
+ плюс / слеш, деление
, запятая ! восклицательный знак
– тире, минус % процент
. точка

Требования к реализации

Реализация Ada должна принимать исходный код Ada в кодировке UTF-8, с или без BOM (см. A.4.11), где каждый символ представлен своим кодовым значением. Пара символов «ВОЗВРАТ КАРЕТКИ/ПЕРЕВОД СТРОКИ» (кодовые точки 16#0D# 16#0A#) обозначает один символ конца строки (см. 2.2); любое другое вхождение format_effector, кроме символа с кодовой точкой 16#09# (ТАБУЛЯЦИЯ), также обозначает один символ конца строки.

Разрешения реализации

Вышеупомянутые категории, а также отображение и свёртку регистров, могут быть основаны на определении ISO/IEC 10646 (издание 2003 года или более позднее), определённом реализацией.
ПРИМЕЧАНИЯ
1 Символы из категорий other_control, other_private_use и other_surrogate разрешены только в комментариях.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API