Спецификация формата значения
D.1 Общие положения
Настоящий стандарт и ИСО 13584-42 приводят конкретный синтаксис формата строк и численных значений, ассоциируемых со свойством.
Пример 1 - Формат NR1 3 устанавливает, что допустимы только целые значения, состоящие из трех цифр.
Примечание 1 - Формат значения типа данных data_type, включая булевский тип boolean_type, не устанавливается.
Примечание 2 - В настоящем стандарте определение формата значения свойства не обязательно.
Синтаксис допустимого формата определен в данном приложении с помощью подмножества расширенной формы Бэкуса-Наура (EBNF), определенного в ИСО/МЭК 14977.
Пример 2 - Синтаксис формата NR1 3 - это буквы 'NR1''' '3'.
Смысл каждого варианта синтаксиса (символов, используемых для представления значения) не может быть задан с помощью формы EBNF. Смысл каждой части формата символов, допустимых для представления значений, устанавливается отдельно для каждой части формата.
Пример 3 - Синтаксис формата NR1 3 имеет следующий смысл: NR1 означает, что можно представить только целое значение. Пробел означает, что можно использовать только фиксированное число символов. Цифра 3 означает допустимое количество цифр в записи.
D.2 Обозначения
Таблица D.1 содержит подмножество синтаксического метаязыка EBNF, определенного в ИСО/МЭК 14977 и использованного в настоящем стандарте. Данный язык устанавливает формат значений свойств.
Таблица D.1 - Синтаксический метаязык EBNF по ИСО/МЭК 14977
Представление | Названия символов по ИСО/МЭК 10646-1 | Символ метаязыка и его роль |
' ' | апостроф | Одинарная кавычка представляет терминал языка. Терминал не должен содержать апостроф. Пример: 'Hello' |
"..." | кавычки | Двойная кавычка представляет терминал языка. Терминал не должен содержать кавычки. Пример: "Машина Джона" |
( ) | левая скобка, правая скобка | Символы начала/окончания группы. Содержание рассматривается как один символ |
[ ] | левая квадратная скобка, правая квадратная скобка | Символ начала/окончания опции. Содержание может быть и может не быть. |
{ } | левая фигурная скобка, правая фигурная скобка | Символ начала/окончания повтора. Содержание может повторяться от 0 до n раз |
- | тире-минус | Символ замены |
, | запятая | Символ последовательного соединения |
= | знак равенства | Символ определения. |
I | вертикальная линия | Альтернативный разделитель |
; | точка с запятой | Символ терминатора. Окончание синтаксического правила |
С помощью введенных обозначений синтаксис рассматриваемого подмножества метаязыка EBNF (используемый в настоящем стандарте для задания формата значений свойств) характеризуется следующей грамматикой (описание символов метаидентификаторов, букв и цифр отсутствует):
syntax=syntaxrule, { syntaxrule };
syntaxrule=metaidentifier, '=', definitionslist, ';';
definitionslist=singledefinition, { '|', singledefinition };
singledefinition=term, { ',', term };
term=primary, [ '-', primary };
primary=optionalsequence | repeatedsequence | groupedsequence |
metaidentifier | terminal | empty;
optionalsequence='[' definitionslist ']';
repeatedsequence='{' definitionslist '}';
groupedsequence=' (' definitionslist ')';
metaidentifier=letter, { letter ];