ГОСТ Р ИСО/МЭК 8825-3—2016
d)маркер растяжимости в ограничениях удаляется, но наличие маркера растяжимости получает
признак класса, а если абстрактное значение находится в корне или в расширении, получает признак
абстрактного значения.
Примечание 2 — Признаки, упомянутые в перечислениях с) и d). опрашиваются благодаря не-ECN
определению объектов кодирования в данной версии настоящего стандарта. Полная поддержка расширяемости,
как ожидается, будет обеспечена в последующей версии настоящего стандарта.
11.3.5 С помощью этих трансформаций все конструкции, относящиеся к типам АСН.1. получают
соответствующие классы кодирования, перечисленные в таблице 2. Неявно генерируемые структуры
кодирования будут конструироваться путем отображения относящихся к типам АСН.1 конструкций из
столбца 1 в классы из столбца 2 таблицы 2 (как описано в 11.4).
11.4 Ноявно генерируемые структуры кодирования
11.4.1 Для каждого определения типа АСН.1 имеется неявно генерируемая структура кодиро
вания с именем, сконструированным из справочного имени типа АСН.1 путем приставления впереди
знака «#». Если для неявно генерируемой структуры кодирования требуется полностью определенное
имя. то полностью определенное имя должно иметь «Moduleldentifier» модуля АСН.1, содержащего
определение типа (пример неявно генерируемой структуры приведен в D.1.9.2).
Примечание — Неявно генерируемая структура генерируется и экспортируетсядля каждого типаАСН.1
в модуле АСН.1 независимо от того, присутствует ли этот тип в разделе EXPORTS.
11.4.2 Неявно генерируемая структура кодирования имеет такую же структуру, что и определение
типа АСН.1, а именно:
a) идентификаторы компонентов АСН.1 отображаются в имена полей структур кодирования:
b
) нотация АСН.1 из столбца 1 таблицы 2 отображается в предопределенные классы кодирования
из столбца 2 таблицы 2.
Примечание — Первый текстуально представленный тег отображается в конструкцию «[#TAG]» неявно
генерируемой структуры. Неявно генерируемая структура не содержит конструкций *[#TAG]
k
для последующих
текстуально представленных тегов:
c) компоненты АСН.1 «DefinedType» отображаются в имя класса кодирования, полученное из име
ни типа путем добавления знака «##. Если тип импортирован в модуль АСН.1, то любая нотация
«ExtemalEncodingClassReference» к соответствующему классу в неявно генерируемой структуре долж на
указывать модуль АСН.1, который содержит определение указанного типа.
Примечание — Если получающийся класс является именем предопределенного класса кодирования,
то все ссылки на него в разделе переименований или в ELM будут использовать нотацию «ExternalEncodmgClass
Reference»:
d) абстрактные значения отображаются из поля определения типа в соответствующее поле струк
туры кодирования;
e) верхняя и нижняя границы для целочисленного и перечисленного типов, все действующие огра
ничения на размер и действующие ограничения на разрешенный алфавит (см. ИСО/МЭК 8825-2.
пункт 10.3) отображаются из определения типа в соответствующее поле структуры кодирования;
0 номер тега для первого текстуально представленного тега отображается в класс #TAG.
11.4.3 Три следующие неявно генерируемые структуры вырабатываются и экспортируются из всех
модулей АСН.1. Эти структуры имеют имена #CHARACTER-STRING. #EMBEDDED-PDV и «EXTERNAL, а
структуры, к которым они разыменуют, являются ноявно генерируемыми структурами, соответствую
щими связанным типам CHARACTER STRING. EMBEDDED PDV и EXTERNAL, указанным соответ
ственно в ИСО/МЭК 8824-1, пункты 44.5. 36.5 и 37.5.
11.4.4 Все неявно генерируемые структуры кодирования могут кодироваться предопределенными
наборами объектов кодирования (см. 18.2) и будут обеспечивать те же кодирования, которые определе ны
в соответствующих стандартах для таких кодирований, применяемых к типам АСН.1.
12 Модуль компоновки кодирования (ELM)
Примечание — В ECN имеются две продукции верхнего уровня: «ELMDefinition», определяемая в на
стоящем разделе, и «EDMDefinitron», определяемая в разделе 14. Они определяют синтаксис для описания модуля
ELM и модулей EDM соответственно.
33