17.2.1 Продукция "DefinedSyntax" определена в ИСО/МЭК 8824-2, пункты 11.5 и 11.6 с учетом изменений из В.16; она используется для определения объектов кодирования для руководящего класса кодирования. Детальный синтаксис для этого выполнения определяется в разделах 23-25, а семантика конструкции определяется в разделе 22.
17.2.2 Эта нотация для определения объектов кодирования доступна только для руководящих классов кодирования в категориях (или в классе), перечисленных ниже, в таблице 3. Синтаксисом, который следует применять для каждого объекта кодирования, является "DefinedSyntax" для соответствующей категории или класса кодирования (см. определения в разделах 23-25).
Таблица 3 - Категории и классы, которые поддерживаются определенным синтаксисом
категория "вырожденная" |
категория "булева" |
категория "целочисленная" |
категория "цепочка битов" |
категория "цепочка октетов" |
категория "цепочка знаков" |
категория "pad" |
категория "альтернативы" |
категория "повторение" |
категория "конкатенация" |
категория "факультативные возможности" |
класс #CONDITIONAL-INT |
класс #CONDITIONAL-REPETITION |
категория "тег" |
класс #TRANSFORM |
класс #OUTER |
Примечания
1 Использование этого синтаксиса часто требует включения параметра для определителя. Параметризованные объекты кодирования с такими параметрами (возможно, включенные в виде части набора параметризованных объектов кодирования) будут полезны только для применения к структуре кодирования в EDM либо для включения в качестве объектов кодирования, применяемых как часть операции замены. Они не могут применяться в ELM.
2 Эта нотация дает возможность пользователю определять объекты кодирования, которые кодируют #SET в виде PER, который обычным образом кодирует #SEQUENCE, и наоборот. Ожидается, что пользователи будут ответственными за свое использование этой нотации.
17.2.3 Необходимая информация (и используемый синтаксис) для определения объекта кодирования в одной из этих категорий или классов с использованием "DefinedSyntax" описывается с помощью определений в разделах 23-25.
17.2.4 Если руководитель для значения одного из полей, появившихся в "DefinedSyntax", необходим для использования в списке фиктивных параметров, то должна быть применена нотация "EncodingClassFieldType" (определенная в В.17). Нотация "EncodingClassFieldType" не имеет других применений.
17.2.5 Когда синтаксис, определенный в разделе 23, требует наличия REFERENCE, это может быть обеспечено только в конструкции "DefinedSyntax" с помощью фиктивного параметра объекта кодирования, который определен, или в случае "flag-to-be-used" или "flag-to-be-set" с помощью использования справочного имени, которое представлено текстуально в определении структуры замены. REFERENCE, что используется в качестве определителя, не должен быть названным компонентом повторения.
17.2.6 Нотация "DefinedSyntax" указывает, дается ли идентифицирующий описатель в определяемом объекте кодирования.