ГОСТ Р ИСО/М ЭК 8824-1-2001
П р и м е ч а н и е — Подсчет количества символов в данном разделе для определения размера значения
символьной строки следует четко отличать от подсчета октетов. Подсчет символов следует интерпретировать в
соответствии с определением совокупности символов, используемой в типе, в частности, относительно ссы
лок на стандарты, таблицы или регистрационные номера в регистре, которые появляются в таком определе
нии.
48.6 Ограничение типа
48.6.1 Нотация ограничения типа “TypeConstraint" должна быть:
TypeConstraint:: = Туре
48.6.2 Эта нотация применяется только к нотации открытого типа и ограничивает открытый
тип значениями Type".
48.7 Допустимый алфавит
48.7.1 Нотация для допустимого алфавита "PermittedAlphabet" должна быть:
PermittedAIphabet.: = FROM Constraint
48.7.2 Нотация "PermittedAlphabet" специфицирует все значения, которые могуч быть постро
ены с использованием подалфавита порождающей строки. Эта нотация может применяться только
для ограниченных типов символьных строк.
48.7.3 Ограничение "Constraint" является любым, которое может применяться для порождаю
щего типа (см. таблицу 6), за исключением использующих альтернативу "SubtypeConstraint" для
"ConstraintSpec". Подалфавит включает символы, появляющиеся водном или нескольких значениях
порожлающего типа строки, которые допускаются ограничением “Constraint".
48.8 Внутренние подтипы
45.8.1 Нотация для внутренних подтипов "InnerTypeConstraints" должна быть:
InnerTypeConstraints : : =
WITH COM PON ENT SingleTypeConstraint|
WITH COMPONENTS MultipleTypeConstraints
48.8.2 Нотация "InnerTypeConstraints" специфицирует только те значения, которые удовлетво
ряют совокупности ограничений на присутствие, и/или значения компонентов порождающего типа.
Значение порождающего типа не специфицировано, если оно не удовлетворяет всем ограничени ям.
явно выраженным или подразумеваемых» (см. 48.8.6). Эта нотация может применяться к выбо
рочному типу, типам "множество-из", "последовательносгь-из", “множество" или "последователь
ность".
П р и м е ч а н и е —Мотания "InnerTypeConstraints". применяемая к типу "множество’ или “последова
тельность", игнорируется преобразованием COMPONENTS OF (см. 24.4 и 26.2).
48.8.3 Дтя типов, которые определены в терминах единственного другого (внутреннего) типа
("множество-из" и "последовательность-из"), ограничение принимает вид спецификации значения
подтипа. Нотацией для такого случая является "SingleTypeConstraint":
SingleTypeConstraint : : = Constraint
Ограничение "Constraint" определяет подтип единственного другого (внутреннего) типа. Зна
чение порождающего типа специфицировано, если и только если каждое внутреннее значение от
носится к подтипу, полученному применением "Constraint" к внутреннему типу.
48.8.4 Для типов, которые определены в терминах нескольких других (внутренних) типов (вы
борочный, “множество" и "последовательность"), может быть несколько ограничений на эти внут
ренние типы.Нотацией для такого случая является "MultipleTypeConstraints”:
Multi pleTypeConstraints : : = FullSpecilication |PartialSpecification
FulISpecification : : =TypeConstraints
PartialSpecilication :: = "{" "..."TypeConstraints "}"
TypeConstraints :: =
NamedConstraint |
NamedConstraintTypeConstraints
NamedConstraint: : =
identifier ComponentConstraint
48.8.5 Продукция "TypeConstraints" содержит список ограничений на типы компонентов по
рождающего типа. Для типа "последовательность- ограничения должны появляться упорядочено.
Внутренний тип, к которому применяется ограничение, идентифицируется с похюшью его иденти
фикатора. Для данного компонента должно быть не более одной продукции “NamedConstraint".
5-1*
63