ГОСТ Р ИСО/МЭК 8825-3—2016
22.7.3.12Если «DETERMINED BY» равен «pattern», то кодер проверяет, что указанная комбина
ция не является начальной субцепочкой какого-либо кодирования повторяемого элемента, прекращает
кодирование, если проверка оказалась неудачной, и распознает ошибку спецификации или примене
ния. Кодер добавляет комбинацию «PATTERN» в конец кодирования повторения.
22.7.4 Действия декодера
22.7.4.1 Если «SIZE» является положительным значением, то декодер определяет пространство
кодирования, умножив это значение на единицу «MULTIPLE OF». Если «MULTIPLE OF» является по
вторениями. то реальный конец пространства повторения определяется путем декодирования и под
счета повторений.
22.7.4.2 Если «SIZE» не установлен в положительное значение, то кодер определяет размер «s»
пространства повторения в единицах «MULTIPLE OF» из спецификации кодирования значения. Это
определение описано в подразделах о спецификации кодирования значения.
22.7.4.3 Если «SIZE» равен «variable-with-determinant». a «DETERMINED BY» установлен в
«container», то декодер использует конец контейнера, указанный в «USING», в качестве конца про
странства кодирования.
22.7.4.4 Если «SIZE» равен «variable-with-determinant». a «DETERMINED BY» установлен (воз
можно. по умолчанию) в «field-to-be-set», то декодер восстанавливает значение «s» путем применения
реверсии «ENCODER-TRANSFORMS» (если он есть) к значению ссылки «USING».
22.7.4.5 Если «DETERMINED BY» равен «fiold-to-be-used». то декодер восстанавливает значе
ние «s» путем применения «DECODER-TRANSFORMS» (если он есть) к значению ссылки «USING».
22.7.4.6 Если «DETERMINED BY» равен «flag-to-be-set», то кодер восстанавливает булево значе
ние путем применения реверсии «ENCODER-TRANSFORMS» (если он есть) к значению ссылки «USING».
22.7.4.7 Если «DETERMINED BY» равен «flag-to-bo-used», то декодер восстанавливает булево
значение путем применения «DECODER-TRANSFORMS» (если он есть) к значению ссылки «USING».
Элемент будет последним в повторении, если, и только если, это булево значение равно FALSE.
22.7.4.8 Если «DETERMINED BY» равен «handle», то декодер определяет значение идентифика
ционного описателя и пытается декодировать следующий элемент (параллельно) либо как следующее
повторение, либо как последующий элемент, используя значение идентификационного описателя для
различения этих вариантов. Если декодирование даст более одного результата или не даст ни одного,
это будет ошибкой кодирования или спецификации.
22.7.4.9 Если «DETERMINED BY» равен «pattern», то декодер в начале декодирования каждого
повторения будет проверять, присутствует ли «PATTERN». Если «PATTERN» присутствует, то биты ком
бинации сбрасываются, а повторение заканчивается.
22.8 Заполнение и выравнивание значения
22.8.1 Признаки кодирования, синтаксис и цель
22.8.1.1 При заполнении и выравнивании значения используются следующие признаки кодирования:
&value-justification
&value-pro-padding
&value-pre-pattern
&value-post-padding
&value-post-pattern
&unusod-bits-determination
&unusod-bits-reference
&Unusod-bits-oncodor-transforms
&Unused-bits-dccoder-transforms
Justification DEFAULT rightiO,
Padding DEFAULT zoro,
Non-Null-Pattern DEFAULT bitsi’O’B,
Padding DEFAULT zero,
Non-Null-Pattern DEFAULT bits:*0*B,
UnusodBitsDetermination
DEFAULT fleld-to-be-set,
REFERENCE OPTIONAL,
«TRANSFORM ORDERED OPTIONAL.
«TRANSFORM ORDERED OPTIONAL
22.8.1.2Для заполнения и выравнивания значения должен использоваться следующий синтаксис:
[VALUE-PADDING
[JUSTIFIED &value-justiflcation]
[PRE-PADDING &value-pre-padding
[PATTERN &value-pre-pattern]]
96