ГОСТ Р ИСО/МЭК 8824-2-2001
11 Определение и присвоение информационного объекта
11.1 Синтаксическая конструкция «ObjectAssignment* используется для присвоения информа
ционному объекту заданного класса ссылочного имени («objectreference*). Эта конструкция является
одной из альтернатив для «Assignment» в ГОСТ I’ ИСО/МЭК 8824-1, раздел 12 и определяется
следующим образом:
ObjectAssignment: : =
objectreference
DetinedObjectClass
♦I =»
Object
11.2 Информационный объект, который должен быть класса, указанного «DefinedObjectClass»,
является объектом, определяемым конструкцией «Object*.
Object:: =
DellnedObject |
Object Defn |
ObjectFromObject |
ParameterizedObject
Если «Object* является:
а) «DefinedObject*. то объект —тот. который указан;
б) «ObjectDefn*. то объект определяется, как специфицировано в 11.3;
в) «ObjectFromObject*, то объект определяется, как специфицировано в разделе 15;
г) «ParameterizedObject», то объект определяется, как специфицировано в ИСО/МЭК 8824-4. 9.2.
11.3 Каждый информационный объект, в конечном счете, определяется «ObjectDefn».:
ObjectDefn : : =
DefaultSyntax |
DefinedSyntax
Продукция «ObjectDefn* должна быть атьтернативой «DefaultSyntax* (см. 11.4), если определе
ние класса не содержит «WithSyntaxSpec*. и «DefinedSyntax* (см. 11.5), если содержит.
11.4 Синтаксис по умолчанию «DefaultSyntax* определяется следующим образом:
DefaultSyntax :: = «{* FieldSetting*, «,* 4 «}»
FieldSetting : : = PrimitfveFieldNameSetting
Здесь должна быть ровно одна альтернатива «FieldSetting» для каждой конструкции «FieldSpec»
в определении класса, для которой не указано «OPTIONAL* или «DEFAULT», и должно быть не
более одной альтернативы «FieldSetting» для каждой конструкции «FieldSpec*. Альтернативы
«Field-Setting* могут появляться в произвольном порядке. Конструкция «PrimitiveFieldNanie* в
каждой конструкции «FieldSetting* должна быть именем соответствующей продукции «FieldSpec*.
Конструк ция «Setting» определяется в 11.6.
11.5 Определяемый синтаксис «DefinedSyntax* задается следующим образом:
DefinedSyntax :: = «{» DefmedSyntaxToken emply • «)»
DefinedSyntaxToken :: =
Literal |
Setting
Конструкция «SintaxList* в конструкции «WithSyntaxSpec* (см. раздел 10) определяет последо
вательность конструкций «DefinedSyntaxToken*. которая должна появляться в конструкции «Defined
Syntax». Конструкция «Setting* определяется в 11.6; каждое ее появление специфицирует установку
для некоторого поля информационного объекта. Конструкция «Literal* определена в 10.7; конструк
ции «Literal* присутствуют для удобочитаемости.
11.6 Конструкция «Setting* специфицирует установку некоторого поля в определяемом инфор
мационном объекте.
Setting : ; =
Туре |
Value |
ValueSet |
Object |
ObjectSet
12