ГОСТ Р ИСО/МЭК 8824-2-200111 Определение и присвоение информационного объекта
11.1 Синтаксическая конструкция «ObjectAssignment» используется для присвоения информационному объекту заданного класса ссылочного имени («objectreference»). Эта конструкция является одной из альтернатив для «Assignment» в ГОСТ Р ИСО/МЭК 8824-1, раздел 12 и определяется следующим образом:
ObjectAssignment : : = objectreference DefrnedObjectClass «: : =»
Object
11.2 Информационный объект, который должен быть класса, указанного «DefrnedObjectClass», является объектом, определяемым конструкцией «Object».
Object : : =
DefinedObject |
ObjectDefn |
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», «,» * «}»
FieldSetting : : = PrimitfveFieldNameSetting
Здесь должна быть ровно одна альтернатива «FieldSetting» для каждой конструкции «FieldSpec» в определении класса, для которой не указано «OPTIONAL» или «DEFAULT», и должно быть не более одной альтернативы «FieldSetting» для каждой конструкции «FieldSpec». Альтернативы «Field-Setting» могут появляться в произвольном порядке. Конструкция «PrimitiveFieldName» в каждой конструкции «FieldSetting» должна быть именем соответствующей продукции «FieldSpec». Конструкция «Setting» сопределяется в 11.6.
11.5 Определяемый синтаксис «DefinedSyntax» задается следующим образом:
DefinedSyntax : : = «{» DefinedSyntaxToken emply * «}»
DefinedSyntaxToken : : =
Literal |
Setting
Конструкция «SintaxList» в конструкции «WithSyntaxSpec» (см. раздел 10) определяет последовательность конструкций «DefinedSyntaxToken», которая должна появляться в конструкции «Defined-Syntax». Конструкция «Setting» определяется в 11.6; каждое ее появление специфицирует установку для некоторого поля информационного объекта. Конструкция «Literal» определена в 10.7; конструкции «Literal» присутствуют для удобочитаемости.
11.6 Конструкция «Setting» специфицирует установку некоторого поля в определяемом информационном объекте.
Setting : : =
Type |
Value |
ValueSet |
Object |
ObjectSet
12