ГОСТ Р ИСО/МЭК 8825-2-2003
б) он получен из типа SEQUENCE (образованием подтипа, типом, ссылкой на тип или
тегированием) и имеется маркер расширения в продукциях «ComponentTypeLists* или «Sequence-
Type», или
в) он получен из типа SET (образованием подтипа, ссылкой на тип или тегированием) и
имеется маркер расширения в продукциях «ComponentTypeLists* или «SetType*, или
г) он получен из типа CHOICE (образованием подтипа, ссылкой на тип или тегированием) и
имеется маркер расширения в продукции «AltemativeTypeLisis*.
9.4
Модель типа и значения, используемая для кодирования
9.4.1 Тип АСН. I является либо простым, либо построен с использованием других типов.
Нотация допускает использование ссылок на тип и тегирование типов. Для настоящих правил
кодирования использование ссылок на тип и тегирование не влияет на кодирование и не видно в
модели, за исключением требований, установленных в 9.2. Нотация также допускает применение
ограничений и спецификаций ошибок. Видимые для PER ограничения представлены в модели как
ограничения значений типа. Другие ограничения и спецификации ошибок не влияют на кодирова
ние и не видны в модели типа и значения PER.
9.4.2 Значение, которое должно быть закодировано, может рассматриваться либо как простое,
либо как составное, построенное с помощью метода структурирования из компонентов, которые
являются простыми или составными значениями, подобно структуре определения типа АСН. 1.
9.5
Структура кода
9.5.1 Настоящие правила кодирования специфицируют:
а) кодирование простого значения в список полей, и
б) кодирование составного значения в список полей, используя списки полей, порожденные
применением настоящих правил кодирования к компонентам составного значения, и
в) преобразование списка полей самого внешнего значения в полное кодирование значения
абстрактного синтаксиса (см. 10.1).
■40■
жимоа
Дгми Сорар-
■■■
тяг
Длине
Дина Содар-
СоАярмюа
Приме чание —Преамбула, длина и содержимое являются «полями», которые, сцепленные вместе,
образуют «список нолей». Список полей составного типа, отличного от выборочного, может состоять из полей
нескольких значений, сцепленных вместе. Либо преамбула, либо длина и (или) содержимое любого значения
могут быть опушены.
Рисунок I — Кодирование составного значения в список полей
9.5.2 Кодирование значения компонента данных либо:
а) состоит из трех частей, показанных на рисунке 1. которые появляются вследующем порядке:
1) преамбула (см. разделы 18, 20 и 22);
2) детерминант длины (см. 10.9);
3) содержимое, либо
б) (когда содержимое большое) состоит из произвольного числа частей, как показано на
рисунке 2, первая из которых является преамбулой (см. разделы 18, 20 и 22), а последующие
являются парами выровненных по октету битовых полей: первое поле — детерминант длины для
фрагмента содержимого, второе —фрагмент содержимого; последняя пара полей идентифицируется
частью детерминанта длины, как определено в 10.9.
Преам
буле
Длит Свдвр-Дтня Содер
жи»*»
вмиое
СоЯФ-
Длина
(нажат
отсут
ствовать)
Рисунок 2 — Кодирование значения длинных данных
9