ГОСТ Р ИСО/МЭК 8824-4—2016
8.8 В определении «ParameterizedType». «ParameterizedValueSet» или «ParameterizedObject-
Class» недолжно быть циклической ссылки на определяемый элемент, если только такая ссылка прямо
или косвеннонепомечена какOPTIONAL или.в случае «ParameterizedTуре» и«ParameterizedValueSet»,
дана путем ссылкинавыборочныйтип. покрайней мереодна изальтернативкоторогоявляетсянецикли
ческой в определении.
8.9 Управляющий пустой ссылки «DummyReference» недолжен включать всебя ссылку надругую
«DummyReference». если этадругая «DummyReference» также имеетуправляющего.
8.10 Впараметризованном присваивании праваясторона «::=» недолжна состоятьисключитель
но из «DummyReference».
8.11 Управляющий «DummyReference» недолжен требоватьзнания "DummyReference" или опре
деляемого параметризованного имени ссылки.
8.12 Когда впараметризованныйтипв качествефактическогопараметраподставляетсязначение
или множество значений, то требуется, чтобы тип фактического параметра был совместим с управляю
щим соответствующего пустого параметра (см. ИСО/МЭК 8824-1. F.6.2. F.6.3).
8.13 При определении параметризованного типас пустым параметром вместо значения или мно
жества значений тип. используемый для управления этим пустым параметром, должен бытьтаким, что
все его значения допустимы для использования во всех правых частях присваиваний, где есть пустой
параметр (см. ИСО/МЭК8824-1, F.6.5).
9Указания параметризованных определений
9.1 В перечне «SymbolList» (в «Export» или «Import») параметризованное определение должно
бытьуказанос помощью «ParameterizedReference»:
ParameterizcdReferenceReference |Reference
где «Reference2 — первый элемент в «ParameterizedAssignment», какопределено в 8.2.
П р и м е ч а н и е — Первая альтернатива для «ParameterizedReference» предусмотрена исключительно
для облегчения понимания. Обе альтернативы имеют один и тот же смысл.
9.2 Вне «Export» или «Import» параметризованноеопределение должнобыть указаноконструкци
ей «Parameterized<X>», котораяможетиспользоваться какальтернативадлясоответствующего«<Х> ».■
ParameterizedType ::=
SimploDefinedType
ActualParameterList
SimploDefinedType ::=
ExternalTypeReference |
typereference
ParameterizedValue
SimpleDefinedValuo
ActualParameterList
SimpleDefinedValue
ExternalValueReference |
valuereforonce
ParameterizedValueSetType ::=
SimploDefinedType
ActualParameterList
ParameterizedObjectClass ::=
DeflnedObjectClass
ActualParameterList
6