ГОСТ Р ИСО/МЭК 8824-1—2001
ItemSpec :: =
typereferencc|
ItemId"." Componentld
Itenild : : = ItemSpec
Componentld : : =
identifier | number | "■»"
П р и м е ч а н и е — Продукция для ’AbsollЦcRcfcrcncc■’ не используется в настоящем стандарте. Она
введена для целей, указанных в 14.1.
14.4 Ссылка ‘GlobalModuleReference" идентифицирует модуль АСН. I (см. 12.1).
14.5 Ссылка "typereferencc" идентифицирует любой тип ЛСН .1, определенный в модуле, иден
тифицированном "GlobalModuleReference".
14.6 "Componentld" в каждой "ItemSpec" идентифицирует компонент типа, который иденти
фицирован "Itemld". Последним должен быть ‘Componentld". если идентифицируемый им компо
нент не является типом "множество", "последовательность", "множество-из", "последовательность-
из" или выборочным типом.
14.7 Альтернатива "identifier" для “Componentld" может быть использована, если порождающий
"Itemld" является типом "множество" или "последовательность" и обязательно должен быть одним из
"identifier”для "NamedType" в"ComponentTypeList” этого множества или последовательности. Она
также может использоваться, если "Itemld" идентифицирует выборочный тип, и тогда он обяза
тельнодолжен быть одним из "identifier" для "NamedType" в "AltemativeTуреList" этого выборочного
типа. При иных обстоятельствах эта альтернатива использоваться не может.
14.8 Альтернатива “number”для "Componentld" может быть использована, только если "Itemld"
является типом "множество-из" или "последовательность-из". Значение числа "number" идентифици
рует экземпляр типа в множестве-из или последовательности-из, при этом значение "Г идентифи
цирует первый экземпляр типа. Значение "0“ идентифицирует концептуальный компонент целого
типа (не присутствующий явно при передаче и называемый "счетчик итераций"), который содержит
число экземпляров типа в миожестве-из или последовательности-из, имеющихся в значении охва
тывающего типа.
14.9 Альтернатива "•" для "Componentld" может быть использована, только если "Itemld" явля
ется типом “множество-из" или "последовательность-из". Любая семантика, связанная с использова
нием V дзя "Componentld", применяется ко всем компонентам множества-из и последовательное-
ти-нз.
П р и м е ч а н и е — Вследующем примере:
М DEFINITIONS :: • BEGIN
Т SEQLENCE(
a BOOLEAN,
b SET OF INTEGER
END
)
компонент "T‘ может быть указан а тексте пне модуля АСН.1 (или в комментарии) следующим образом:
если (ФМ.Т.Ь.О нечетное), то
(@Л1.Т.Ь.*должно быть нечетным).
использованным для утверждения, что если количество компонентов в "Ь" нечетное, то все компоненты "Ь"
должны быть нечетными.
15 Присвоение типов и значений
15.1 Ссылке катил "typereference" должен быть присвоен тип потайней, заданной продукцией
"TypeAssignment":
TypeAssignment :: =
typereference
Type
Ссылка "typereference" не должна быть зарезервированным словом ACH.I (см. 11.18).
15.2 Ссылке на значение "valuereference" должно быть присвоено значение нотацией, заданной
продукцией "ValueAssignment”:
23