ГОСТ Р ИСО/МЭК 8825-3—2016
11.3.4.2 Следующие трансформации применяются рекурсивно в указанном порядке до достиже
ния некоторой фиксированной точки:
a) вся параметризация АСН.1 полностью разрешается путем замены реальных параметров на
холостые параметры [см. перечисление d) 11.3.2].
Примечание — Это означает, что если нотация типа АСН.1 содержит экземпляр параметризованного
типа АСН.1, то этот экземпляр становится инлайновым определением;
b
) все «ComponentsOf» расширяются до их полных форм [см. перечисление Ь) 11.3.2];
c) все использования «SelectionType» должны быть разрешены [см. перечисление Ь) 11.3.2].
11.3.4.3 Затем применяются следующие трансформации.
a) списки поименованных номеров в определениях целочисленных типов удаляются. Поимено
ванные номера для ECN не видны. ECN видит один класс «INTEGER [возможно, с границами, опреде
ленными в перечислении с) 11.3.4.3];
b
) списки поименованных битов в определениях цепочек битов удаляются. Поименованные биты
для ECN не видны;
c) все нотации ограничений, невидимых в PER, кроме ограничения на содержимое, удаляются.
Ограничения, видимые в PER. должны разрешаться для обеспечения следующих значений, которые
могут быть указаны в определении правил кодирования;
i) верхняя граница целых чисел и перечислений;
ii) нижняя граница целых чисел и перечислений;
iii) ограничения на действующий разрешенный алфавит PER и на действующий размер (см. ИСО/
МЭК 8825-2. пункт 10.3);
d) если имеется ограничение на содержимое с конструкцией CONTAINING, то наличие ограниче
ния на содержимое, тип содержимого и присутствие или отсутствие раздела ENCODED BY получают
признаки, связанные с абстрактными значениями такого ограниченного типа «цепочка октетов» или
«цепочка битов», и это ограничение затем сбрасывается. Если имеется ограничение на содержимое
без конструкции CONTAINING, то оно не видно для ECN и сбрасывается.
Примечание — Когда определяются кодирования для значений со связанным ограничением на со
держимое. для кодирования типа содержимого может выдаваться отдельный комбинированный набор объектов
кодирования. Это может быть определено по выбору разработчика, с отменой или без отмены существующего
ENCODED BY (см. 11.3 и 13.2):
в) все тегирования, которые даны в нотации АСН.1 не текстуально, должны игнорироваться при
отображении в структуры кодирования, но (для моделирования кодирований BER и процедур PER)
полный список тегов типа получает признак поля структуры кодирования, в которую отображаются со
ответствующие значения;
0 текстуально представленная нотация тегов имеет класс удаленного тега [см. также перечисле
ние е) 11.3.4.1];
д) значение «DEFAULT» заменяется на «OPTIONAL-ENCODING #OPTIONAL». а безусловное зна
чение (по умолчанию) связывается с полем структуры, в которую отображен компонент АСН.1;
h) OPTIONAL заменяется на «OPTIONAL-ENCODING «OPTIONAL»;
i) Т61 String заменяется на «ToletexString;
j) IS0646String заменяется на «VisibleString.
11.3.4.4 Далее применяются следующие трансформации:
a) выполняется автоматическое распределение значений по нумерациям (если это применимо).
Синтаксис ENUMERATED заменяется на класс кодирования «ENUMERATED с установкой верхней и
нижней границы [см. перечисление с) 11.3.4.3].
Примечание 1 — Класс «ENUMERATED разыменует к классу «INT (см. 11.2.2). а нумерации отобража
ются в ограниченные целочисленные значения класса. Реальные имена нумераций для ECN не видны;
b
) все появления «ObjectClassFieldType» (см. ИСО/МЭК 8824-2, раздел 14), которые ссылаются на
поле типа, поле значения переменного типа или поле набора значений переменного типа, заменяются
на класс кодирования «OPEN-TYPE [см. перечисление с) 11.3.2];
c) маркеры растяжимости и квадратные скобки в последовательности, наборе и конструкциях вы
бора удаляются, но (для моделирования кодирований BER и процедур PER) идентификация компонен
та как части корня или версии 1 и 2 и т. д. получает признак компонента, а наличие маркера растяжимо
сти получает признак класса, в который конструктор отображает;
32