ГОСТ 1» ИСО/МЭК 8X24-1-2001
б) знак плюс (+) аналогичен звездочке из перечисления а), за исключением того, что пустой
элемент не допускается. Так,
Е :: = А В +
эквивалентно
Е :: = Л | А В Е
П р и м е р - " Е : : = Л В +“ яатяется краткой формой нотации для следующих альтернатив Е:
А
ЛБА
А ВА ВА
А ВА ВА ВА
в) знак вопроса (?) следом за именем обозначает либо пустой элемент (см. 11.7), либо после
довательность продукций, ассоциированных с "А“. Так.
F :: = А ?
эквивалентно
F :: *= empty | А
5.9 Ссылки на значения и тнпиазация значений
5.9.1 ЛСН.1 определяет нотацию присваивания значений, которая позволяет дать имя значе
нию специфицированного типа. Это имя может использоваться всякий раз. когда нужна ссылка на
значение. В приложении F описан и установлен метод отображения значений, который позволяет
ссылочному имени значения одного типа идентифицировать значение другого типа. Таким образом,
ссылка на первое значение может использоваться тогда, когда требуется ссылка на значение
второ го типа.
5.9.2 В стандартах ЛСН.1 используется описание на обычном языке для спецификации допус
тимости (или недопустимости) конструкций, в которых участвует несколько типов, но при этом два
типа должны быть «совместимы*. Например требуется, чтобы тип. используемый при определе нии
ссылки на значение, был «совместим* с управляющим типом при использовании этой ссылки. В
приложении F понятие отображения значений используется для точного утверждения о том.
допустима данная конструкция ЛСН.1 или нет.
6 Модель АСН.1 расширения типа
При декодировании расширяемого типа декодер может выявить:
а) отсутствие ожидаемых расширяющих дополнений втипе "последовательность" или "множе
ство", или
б) присутствие либо произвольных неожидаемых расширяющих дополнений, кроме тех, ко
торые определены (если были определены) в типе "последовательность" или "множество", либо
неизвестной альтернативы в выборочном типе, либо неизвестного перечисления в перечислимом
типе, либо неожиданной длины или значения типа, ограничение которого расширяется.
Формально говоря, абстрактный синтаксис, определяемый расширяемым типом "X", содер
жит не только значения типа "X". но и значения всех типов, связанных расширением с “X". Таким
образом, процесс декодирования никогда не сигнализирует об ошибке при выявлении любой из
перечисленных ситуаций а) и б). Действия, которые должны быть предприняты в такой ситуации,
должны быть специфицированы проектировщиком прикладного уровня.
П р и м е ч а й и с —Часто действием должнобыть игнорирование присутствия неожидаемых дополни
тельных расширений и использование значений по умолчанию или указателей "отсутствует" для отсутствую
щих. но ожидаемых расширяющих дополнений.
Неожидаемые расширяющие дополнения, выявленные декодером в расширяемом типе, могут
быть позже включены в последующие кодирования этого типа (для передачи обратно отправителю
или какой-либо третьей стороне), при условии, что для последующей передачи используется гот же
самый синтаксис передачи.
10