Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 8824-4-2016 Информационная технология (ИТ). Абстрактная синтаксическая нотация версии один (АСН.1). Часть 4. Спецификация для параметризации АСН.1

     8 Параметризованные присвоения

8.1 Существуют операторы параметризованного присвоения, соответствующие каждому из операторов присвоения, определенному в ИСО/МЭК 8824-1 и ИСО/МЭК 8824-2.

Конструкция "ParameterizedAssignment":

ParameterizedAssignment ::=
ParameterizedTypeAssignment
| ParameterizedValueAssignment
| ParameterizedValueSetTypeAssignment
| ParameterizedObjectClassAssignment
| ParameterizedObjectAssignment
| ParameterizedObjectSetAssignment


8.2 Каждая конструкция "Parameterized<X>Assignment" имеет тот же самый синтаксис, что и "<X>Assignment", за исключением того, что имеется начальный элемент "ParameterList". Таким образом, начальный элемент становится параметризованным именем ссылки (см. 3.4.2).

Примечания

1 ИСО/МЭК 8824-1 налагает требование, заключающееся в том, что все имена ссылки, назначенные в пределах модуля, параметризованные или нет, должны различаться.

2 Там, где нотация значений регулируется параметризованным типом (или типом, который является параметром) достоверность нотации значений внутри параметризованного назначения может быть определена только после инстанцирования параметризованного типа, и может быть действительна для одних инстанцирований и недопустима для других.


ParameterizedTypeAssignment ::=
typereference
ParameterList

"::="
Туре


ParameterizedValueAssignment ::=
valuereference
ParameterList
Type

"::="
Value


ParameterizedValueSetTypeAssignment ::=
typereference
ParameterList
Type

"::="
ValueSet


ParameterizedObjectClassAssignment ::=
objectclassreference
ParameterList

"::="
ObjectClass


ParameterizedObjectAssignment ::=
objectreference
ParameterList
DefinedObjectClass

"::="
Object

ParameterizedObjectSetAssignment ::=
objectsetreference
ParameterList
DefinedObjectClass

"::="
ObjectSet

8.3 Конструкция "ParameterList" есть список параметров "Parameter", заключенных в фигурные скобки.

ParameterList ::= "{" Parameter "," + "}"