ГОСТ Р ИСО/МЭК 8824-2-200!
9 Определение и присвоение класса информационных объектов
9.1 Конструкция «ObjectClassAssignment» используется для присвоения класса информацион
ных объектов имени ссылки («objectclassreference»). Эта конструкция является одной из альтернатив
для «Assignment» в ГОСТ Р ИСО/МЭК 8824-1, раздел 12 и определяется следующим образом:
ObjectClassAssignment: : =
objectclassreference
ObjectClass
9.2 Класс информационного объекта —тот. который определяется конструкцией «ObjectClass*.
ObjectClass : : =
DefinedObjectClass |
ObjectClassDefn |
ParametrizedObjectClass
если «ObjectClass» есть:
а) «DefinedObjectClass», то определение класса —то же самое, как определение указываемого
класса:
б) «ObjectClasDefn*. то класс определяется как описано в 9.3;
в) «ParameterizedObjectClass*. то класс определяется как описано в ИСО/МЭК 8824-4, 9.2.
9.3 Каждый класс, в конечном счете, определяется «ObjectClassDefn*:
ObjectClassDefn :: =
CLASS
«{» FieldSpec «,» + «}*
WithSvntaxSpec?
WithSyntaxSpec : : = WITH SYNTAX SyntaxLLst
Эта нотация позволяет разработчику класса предоставить спецификации поименованных
полей, каждая из которых является «FieldSpec», как определено в 9.4. Факультативно автор
определения может предоставить синтаксис определения информационных объектов («SyntaxList*),
как указано в 10.5. Автор определения класса может также специфицировать семантику, связанную с
определением класса.
9.4 Каждая альтернатива «FieldSpec* специфицирует и называет одно из полей, которое будет
или может быть связано с экземплярами класса.
FieldSpec :: =*
TypeFieldSpec |
FixedType’Value FieldSpec |
VariableTypeValueFieldSpec |
FixedTypeValueSetFieldSpec |
VariableTypeValueSet FieldSpec |
ObjectFieldSpec |
ObjectSet FieldSpec
Различные альтернативы для «FieldSpec* определяются в последующих пунктах.
9.5 Альтернатива «TypeFildSpec* определяет, что поле является полем типа (см. 3.4.17).
TypeFildSpec :: =
typefieldreference
TypeOptionalitySpec?
TypeOptionalitySpec : : = OPTIONAL | DEFAULT Type
Имя поля есть «typefieldreference*. Если продукция «TypeOptionalitySpec* отсутствует, то все
определения информационных объектов этого класса обязательно должны включать в себя специ
фикацию типа для этого поля. Если присутствует «OPTIONAL*, то поле может быть оставлено
неопределенным. Если присутствует «DEFAULT*, то последующий «Туре* обеспечивает установку
умолчания для поля, если оно опушено в определении.
9.6 Продукция *FixedTypeValueFieldSpec* определяет, что поле является полем значения
фиксированного-типа (см. 3.4.18).
FixedTypeValueFieldSpec :: =
valuefieldreference
Tvpe
UNIQUE?
6