ГОСТ Р ИСО/МЭК 8825-3—2016
этих типов определяется «CombinedEncodings», применяемым к генерируемым структурам кодирова
ния, как указано в 13.2.
Примечание — Для ELM будет обычным кодировать одиночный тип одиночного модуля, но если ко
дируются несколько типов, то поставщики оборудования могут (но не обязательно) предполагать, что это неявно
указывает на типы верхнего уровня, нуждающиеся в поддержке вгенерируемых структурах данных.
12.2.3 Кодирования, применяемые к генерируемым структурам кодирования, соответствующим
типу АСН.1, который определен в каком-либо модуле АСН.1, предназначены для использования только
этого типа в виде прикладных сообщений. Они не имеют значения при кодировании этого типа, когда
ссылка на них сделана другими типами или когда они экспортированы из этого модуля АСН.1 и импор
тированы в другой модуль АСН.1.
12.2.4 Кодированием типа в ограничениях содержимого является то. которое указано объектом
кодирования, приложенным к этому ограниченному классу в категории «цепочка октетов» или «цепочка
битов», а также может быть любым комбинированным набором объектов кодирования или может быть
комбинированным набором объектов кодирования, который был приложен к классу, содержащемуся в
этой категории «цепочка октетов» или «цепочка битов».
12.2.5 В ELM должно применяться только одно кодирование к одному типу АСН.1.
Примечание — Правила применения кодирований (определяемые в разделе 13) означают, что
«EncodrngApplication» полностью описывает кодирование типа, если он не содержит экземпляра ограничения
содержимого.
13 Применение кодирований
13.1 Общие положения
13.1.1 Кодирования применяются в ELM к генерируемой структуре (или независимо, к несколь
ким генерируемым структурам) с помощью «CombinedEncodings», определяемого в 13.1.3. Этот раздел
вместе с 13.2 определяет применение «CombinedEncodings» к генерируемой структуре кодирования.
13.1.2 В ELM приложение выполняется к генерируемым структурам кодирования, указанным в
«EncodingApplication». Последующие разделы определяют также приложение кодирований ко всем или к
части определений произвольных структур кодирования. Этот раздел применим в обоих случаях.
13.1.3 Продукцией «CombinedEncodings» является:
CombinedEncodings ::=
WITH
PrlmaryEncodings
CompletionClause ?
CompictionClauso ::=
COMPLETED BY
SecondaryEncodings
PrimaryEncodingsEncodingObjectSot
SecondaryEncodings ::= EncodingObjectSot
13.1.4 «EncodmgObjectSet» определяется в 18.1.1.
13.1.5 Использование «CombinedEncodings» определяется в 13.2.
13.2 Комбинированный набор объектов кодирования и ого применение
13.2.1 Комбинированный набор объектов кодирования формируется из продукции «CombinedEn
codings» (см. 13.1.3) следующим образом.
13.2.2 Если не имеется «CompletionClause», то «PrimaryEncodings» формирует комбинированный
набор объектов кодирования.
13.2.3 В остальных случаях:
a) все объекты кодирования из «PrimaryEncodings» помещаются в комбинированный набор объ
ектов кодирования, а затем
b
) каждый объект кодирования из «SecondaryEncodings» добавляется в комбинированный набор
объектов кодирования, если, и только если, в этом комбинированном наборе объектов кодирования
уже нет объекта кодирования, который имеет тот же класс кодирования (см. 17.1.7 и 9.23.2).
35