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

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

     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]" для последующих текстуально представленных тегов;



c) компоненты АСН.1 "DefinedType" отображаются в имя класса кодирования, полученное из имени типа путем добавления знака "#". Если тип импортирован в модуль АСН.1, то любая нотация "ExternalEncodingClassReference" к соответствующему классу в неявно генерируемой структуре должна указывать модуль АСН.1, который содержит определение указанного типа.


Примечание - Если получающийся класс является именем предопределенного класса кодирования, то все ссылки на него в разделе переименований или в ELM будут использовать нотацию "ExternalEncodingClass Reference";

d) абстрактные значения отображаются из поля определения типа в соответствующее поле структуры кодирования;

e) верхняя и нижняя границы для целочисленного и перечисленного типов, все действующие ограничения на размер и действующие ограничения на разрешенный алфавит (см. ИСО/МЭК 8825-2, пункт 10.3) отображаются из определения типа в соответствующее поле структуры кодирования;

f) номер тега для первого текстуально представленного тега отображается в класс #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.