ГОСТ Р 59791—2021
:
*P* 1 *Q’
| »RT | ’S’
1
fijif
1
’U*
1
f
v* 1 *w
1
’x*
1
’Y
1
| ’Z* I ’a’
’d1 | ’e*
1 ’fT 1 *g*
1
"h1
1
Ti1
1
’j*
1 ’k*
1
*1*
1
•m*
| *
n
* 1 ’o’
*r* | ’s’
1 ’t’
I »u’
*
1
»vT
1
t w t
1
X
1
1 *y*
1
’z’
/
’
digit
= »0T | 4 T | 121 | ’3’
1
1
4
1
1 1
5»
1
’6’ | *7*
1
*
8
1
1
’9* ;
hexa
= digit |
’A’
| ’В’ | ’c
T 1
*D
1 1
TE
1 1
’F’ | Ta
1 1
’b
T 1
fc l
| *d’ | *e’ |
’f’ ;
char
= digit |
1
’!• |
1 1 1 1%’ 1 ’
/V, | ,s,
1 1
**
1
_• | ’+ ’
11 ’}’ 1 4
I
I
<* | ’
>’ 1 ’
?’
1
‘ r
1 1 1
t_
’ 1 ’[’ 1 ’]
’ 1
»
;’1
S’
1 S’ 1 V 1 ’A
’В1 |
»Cl
| *DT
|
*E1
1
»
f
»
1
»GT
1
’H’
1
ч*
1
*J*
1
»KT
1 ’L’
|
| »N*
| ’O’
I
| ’b1 | ’c’
I
1 ’p* 1 ’q*
I
А.2.2.5 Использование кавычек внутри строк
Определенные последовательности символов используют для обозначения наличия отдельного символа.
nonascii
— это набор символов или последовательностей символов, который указывает на символ Юникода за
пределами диапазона ASCII.
При вводе данных с помощью полной кодировки символов Юникода это определение следует игнорировать,
nonascii следует рассматривать как набор всех неуправляющих символов Юникода за пределами диапазона ASCII,
поддерживаемых кодировкой символов. Использовать последовательности \uxxxx и \Uxxxxxx в тексте, закодиро
ванном с помощью полного набора символов Юникода, не рекомендуется.
innerstringquote
используют для обозначения наличия символа одинарной кавычки внутри строки в кавычках.
Строка в кавычках может содержать любой символ, включая пробелы. Тем не менее символ одинарной кавычки
может встречаться внутри строки, заключенной в кавычки, только как часть
innerstringquote,
т. е. когда прямо перед
ним стоит символ обратной косой черты. Символ одинарной кавычки в потоке символов строки в кавычках обозна
чает конец лексического токена строки в кавычках, если прямо перед ним не стоит символ обратной косой черты.
Двойные кавычки внутри строк выделенных имен обрабатывают таким же образом.
Innernamequote
используют
для обозначения наличия символа двойной кавычки внутри выделенного имени.
nonascii = ‘\u’ , hexa, hexa, hexa, hexa | ‘\U’ , hexa, hexa, hexa, hexa, hexa, hexa ;
innerstringquote = V ;
innernamequote = ‘V” ;
innerbackslash= ‘W
numeral = dig it, { digit};
Маркеры последовательности — это отдельная синтаксическая форма в CL со специальным значением.
Обратите внимание, что многоточие без текста (например, «...») само по себе является маркером последователь
ности.
seqmark =, { char};
Одиночные кавычки являются разделителями для строк в кавычках; двойные кавычки — для выделенных
имен. Выделенное имя — это простое имя, которое может содержать символы, нарушающие лексикализацию, на
пример «Миссис Нора Джонс» или «Девушка(прервано)»; как и любое другое имя, оно может обозначать что угодно.
Окружающие двойные кавычки не считаются частью имени, которое определяют как строку символов, полученную
путем удаления двойных кавычек и замены всех внутренних экземпляров innernamequote на одинарный символ
двойной кавычки. При использовании цифр в двойных кавычках во время синтаксического анализа
абстрактного синтаксиса этому интерпретируемому имени присваивают новый символ. Рекомендовано
использовать синтаксис выделенного имени при использовании URI, ссылок URI и IRI в качестве имен, поскольку
эти веб-идентификаторы могут содержать символы, которые в противном случае нарушили бы лексикализацию
CLIF: в частности, совме стимые с Xpath ссылки URI часто заканчиваются закрывающими скобками.
Строка в кавычках, напротив, является выражением с фиксированным семантическим значением: она
обо
значает
текстовую строку, аналогичную строке внутри кавычек.
26