5 Lexical conventions [lex]

5.3 Character sets [lex.charset]

Он basic source character set состоит из 96 символов: пробела, управляющих символов, представляющих горизонтальную табуляцию, вертикальную табуляцию, подачу страницы и новую строку, а также следующие 91 графический символ:15

a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9
_ { } [ ] # ( ) < > % : ; . ? * + - / ^ & | ~ ! = , \ " '

Эта universal-character-nameконструкция позволяет давать имена другим персонажам.

hex-quad:
	hexadecimal-digit hexadecimal-digit hexadecimal-digit hexadecimal-digit
universal-character-name:
	\u hex-quad
	\U hex-quad hex-quad

Характер обозначены теми universal-character-name \UNNNNNNNN , что персонаж, характер которого сокращенное наименование в ИСО / МЭК 10646 является NNNNNNNN; символ, обозначенный знаком, universal-character-name \uNNNN является тем символом, которому соответствует короткое имя символа в ISO / IEC 10646 0000NNNN. Если шестнадцатеричное значение для a universal-character-nameсоответствует суррогатной кодовой точке (в диапазоне 0xD800–0xDFFF включительно), программа имеет неправильный формат. Кроме того, если шестнадцатеричное значение для universal-character-nameСнаружи c-char-sequence, s-char-sequenceили r-char-sequenceиз символа или строк литералов соответствуют управляющему символу (в любом из диапазонов 0x00-0x1F или 0x7F-0x9F, оба включительно) или к символу в основном исходном характере установлен, программа сформирована неправильно.16

Каждый из basic execution character set и basic execution wide-character set должен содержать все элементы базового исходного набора символов плюс управляющие символы, представляющие предупреждение, возврат и возврат каретки, плюс null character (соответственно null wide character), значение которого равно 0. Для каждого базового набора символов выполнения значения члены должны быть неотрицательными и отличными друг от друга. Как в исходном, так и в исполнительном базовых наборах символов значение каждого символа после 0 в приведенном выше списке десятичных цифр должно быть на единицу больше, чем значение предыдущего. execution character set И execution wide-character set являются осуществлением определенных надмножеств базового набора символов и выполнения основного набора выполнения широких символов, соответственно. Значения элементов наборов символов выполнения и наборов дополнительных элементов зависят от локали.

Глифы для элементов основного исходного набора символов предназначены для идентификации символов из подмножества ISO / IEC 10646, которое соответствует набору символов ASCII. Однако, поскольку отображение символов исходного файла в исходный набор символов (описанное в фазе перевода 1) задано как определяемое реализацией, требуется реализация, чтобы задокументировать, как основные исходные символы представлены в исходных файлах.

Последовательность символов, напоминающая a universal-character-nameв a r-char-sequence, не образует a universal-character-name.