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

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

     9.11 Параметризация

9.11.1 Объекты кодирования, наборы объектов кодирования и классы кодирования могут быть параметризованы так же, как типы и значения АСН.1. Это является просто расширением нормального механизма АСН.1.

9.11.2 В первую очередь параметризация используется при определении объекта кодирования, который нуждается в идентификации некоторого определителя для завершения определения кодовой последовательности (см. 9.13.2) (см. в D.1.11.3 пример параметризованного определения ECN).

9.11.3 Другим важным использованием параметризации является определение структуры кодирования, которая будет использована для замены многих разных классов в кодировании (см. также 9.16.5). Например, механизмом, применяемым для обработки факультативных возможностей, часто является непосредственный (обязательный) предшествующий "бит-наличия" для каждого факультативного компонента. Параметризованная структура может быть определена включением конкатенации #BOOLEAN (используемой в качестве определителя наличия), за которой следует факультативный компонент, определенный в качестве фиктивного параметра (который должен выдаваться с компонентом, заменяющим структуру), на наличие которого указывает этот #BOOLEAN. Исходная процедура кодирования #OPTIONAL определяется теперь как замена исходного компонента с его обязательной структурой путем использования исходного факультативного компонента в качестве реального параметра (в D.3.2 приводится более полный пример этого процесса).

9.11.4 Фиктивными параметрами могут быть объекты кодирования, наборы объектов кодирования, классы кодирования, ссылки на поля структур кодирования и значения любых типов АСН.1, используемых в предопределенных классах кодирования, определяемых в разделе 23 и описанных в ИСО/МЭК 8824-4, с учетом изменений из В.10 (приложение В).

9.11.5 Изменение синтаксиса параметризации, указанное в приложении С, требует использования символа "{<" (без пробелов) вместо "{" для начала списка фиктивных или реальных параметров и ">}" для его окончания.


Примечание - Это сделано для облегчения анализа ECN в компьютере и для избежания двусмысленности, когда определенные пользователем классы используются в определениях структур вместо #SEQUENCE, #CHOICE, #REPETITION, #SEQUENCE-OF или #SET-OF.