ГОСТ Р ИСО/МЭК 8824-2-2001
OptionalGroup : : = «[» TokenOrGroupSpec empty + «]»
RequiredToken : : =
Literal |
PrimitiveFieldName
Примечание — Разработчику конструкции «SyntaxList» не предоставляются полные возможности БИФ. Грубо говоря, мощность нотации эквивалента той, которая обыгчно используется при спецификации синтаксисов командной строки для интерпретаторов команд. Список возможных признаков «RequiredToken» дается в том порядке, в каком они допустимы; один или несколько последовательных признаков могут быть сделаны факультативными путем заключения их в квадратные скобки.
10.6 Признак «word», используемый как литерал «Literal», не должен быть одним из следующих: BIT
BOOLEAN
CHARACTER
CHOICE
EMBEDDED
END
ENUMERATED
EXTERNAL
FALSE
INSTANCE
INTEGER
INTERSECTION
MINUS-INFINITY
NULL
OBJECT
OCTET
PLUS-INFINITY
REAL
RELATIVE-OID
SEQUENCE
SET
TRUE
UNION
Примечание — Этот список включает только те (и все те) зарезервированные слова АСИ. 1, которые могут появляться в первом элементе продукций «Type», «Value», «ValueSet», «Object» или «ObjectSet», а также зарезервированное слово «END». Использование других зарезервированных слов АСИ. 1 не вызывает двусмысленности и разрешается. Когда определяемый синтаксис используется в окружении, в котором «word» является также «typereference» или «objectsetreference», то их использование в качестве «word» имеет предпочтение.
10.7 Продукция «Literal» специфицирует фактическое включение того литерала «Literal», который является либо «word», либо запятой («,»), в данной позиции в определяемом синтаксисе.
Literal : : = word |
«,»
10.8 Каждая альтернатива «PrimitiveFieldName» специфицирует включение (в данной позиции в новом синтаксисе) продукции «Setting» (см. 11.6) для соответствующего поля.
10.9 Каждая альтернатива «PrimitiveFieldName» класса информационных объектов должна появляться ровно один раз.
10.10 Когда в процессе синтаксического разбора встречается альтернатива «OptionalGroup», а следующий элемент АСН. 1 является синтаксически приемлемым в качестве первого элемента АСН. 1 в факультативной группе, то принимается, что эта группа присутствует. Если следующий элемент не является синтаксически приемлемым в качестве первого элемента АСН. 1 в факультативной группе, то принимается, что эта группа отсутствует.
Примечание — Для того чтобы предотвратить неожиданные эффекты, разработчики обычно делают первым элементом АСИ. 1 в факультативной группе литерал «Literal».
10.11 Экземпляр использования «DefinedSyntax» является недопустимым, если он не специфицирует все обязательные поля для класса информационных объектов.
10