Приложение D
(обязательное)
ГОСТ Р ИСО 13584-42—2012
Спецификация формата значения
Настоящий стандарт и МЭК 61360-2 приводят конкретный синтаксис формата строк и численных значений,
ассоциируемых со свойством.
Пример 1 — Формат NR1 3 устанавливает, что допустимы только целые, состоящие из трех
цифр.
1 — Формат значения типа данных dala_type, включая булевский тип boolean_type,
П р и м е ч а н и е
не устанавливается.
П р и м е ч а н и е
2 — В настоящем стандарте определение формата значения свойства не обязательно.
Синтаксис допустимого формата определен в данном Приложении с помощью подмножества расширенной
формы Бэкуса-Наура (EBNF), определенного в ИСО/МЭК 14977.
Пример 2— Синтаксис формата NR1 3— это буквы ’NR1’ "’3’.
Смысл каждого варианта синтаксиса (символов, используемых для представления значения) не может быть
задан с помощью формы EBNF. Смысл каждой части формата символов, допустимых для представления значе
ний. устанавливается отдельно для каждой части формата.
Пример 3— Синтаксис формата NR1 3 имеет следующий смысл: NR1 означает, что можно пред
ставить только целое значение. Пробел означает, что можно использовать только фиксированное
число символов. Цифра 3 означает допустимое количество цифр в записи.
D.1 Обозначения
Таблица D.1 содержит подмножество синтаксического мета-языка EBNF, определенного в ИСО/МЭК 14977
и использованного в настоящем стандарте. Данный язык устанавливает формат значений свойств.
С помощью введенных обозначений синтаксис рассматриваемого подмножества мета-языка EBNF (исполь
зуемый в настоящемстандарте для задания формата значений свойств) характеризуется нижеследующей грамма
тикой (описание символов мета-идентификаторов, букв и цифр отсутствует):
syntax =syntaxru!e.{ syntaxrute):
syntaxrule = metaidentifier. ’=’ definitionslist.’;
definitionslist =singledefinition. {‘|*t singledefinition};
singledefinition = term. {7, term};
term =primary,primary);
primary = optionalsequence | repeatedseguen.ce | groupedsequence | metaidentifier | terminal | empty;
optionalsequence = ’ [ definitionslist’]’:
repeatedsequence = ’{’definitionslist
groupedsequence = ’(’definitionslist’)’:
metaidentifier = letter, (letter):
terminal = «’». (character— «’»). (character — «’»}. «’»
| V , (character — V).{character — V}. V;
empty =;
Знак равенства ’=’ указывает синтаксическое правило. Мета-идентификатор слева можно заменить комбина
цией элементов справа. Любые пробелы между элементами информации не несут, если только они не находятся
внутри терминала. Синтаксическое правило закачивается символом
Т а б л и ц а D.1 — Синтаксический мета-язык EBNF по ИСО/МЭК 14977
Представление
Названия символовпоИСО/МЭК
10646-1
Символ мота*яэыка
иогороль
апостроф
Одинарная кавычка представляет терминал языка.
Терминал не должен содержать апостроф. Пример:
’Hello’
кавычки
Двойная кавычка представляет терминал языка. Тер
минал не должен содержать кавычки. Пример: «Маши
на Джона»
О
левая скобка, правая скобка
Символы начала/окончания группы. Содержание рас
сматривается как один символ
47