ГОСТ 1» ИСО/МЭК 8824-2-2001
Если иоле является:
a) полем типа, то выбирается альтернатива «Туре*;
b
) полем значения, то выбирается альтернатива «Value»;
c) полем множества значений, то выбирается альтернатива «ValueSet*;
d) полем информационных объектов, то выбирается альтернатива «Object*;
e) полем множества информационных объектов, то выбирается альтернатива «ObjectSet*.
Примечание —Установка ограничивается, как описано в 9.5 —9.12 и 11.7 —11.8.
11.7 Установка поля значений переменного-типа должна быть значением типа, заданного
соответствующим полем типа того же самого или связанного объекта (то есть нотация значения для
открытого типа не допускается).
11.8 Установка поля множества значений переменного-типа должна быть множеством значе
ний типов, заданных соответствующим полем типа того же самого или связанного объекта (то есть
нотация значения для открытого типа не допускается).
11.9 Примеры (синтаксис по уматчанию)
Для определений классов информационных объектов из 9.16 (которые не содержат «WithSyn-
taxSpec*) экземпляры классов определяются с использованием «DefaultSyntax*. Например (расши
ренная версия примера, данного в 3.4.7):
invertMatrix OPERATION :: =
&ArgtimentType
&ResultType
&Errorc
&operationCode
Matrix
Matrix
(determinant IsZero)
7
determinantIsZero ERROR : : =
{
&errorCode I
}
11.10 Примеры (определяемый синтаксис)
В 10.13 примеры классов содержат «WithSyntaxSpec» и. таким образом, элементы классов
определяются с использованием «DefmedSyntax*. Примеры 11.9 могли бы быть написаны следующим
образом:
invertMatrix OPERATION :: =
I
ARGUMENT Matrix
RESULT Matrix
ERRORS (detenninantIsZero)
CODE 7
detenninantIsZero ERROR : : =
{
CODE 1
}
12 Определение и присвоение множества информационных объектов
12.1Синтаксическая конструкция «ObjectSetAssignment* используется для присвоения множе
ству информационных объектов заданного класса, ссылочного имени (*objectsetreference*). Эта
конструкция является одной из альтернатив для «Assignment* в ГОСТ Р ИСО/МЭК 8824-1, раздел
12 и определяется следующим образом:
ObjectSetAssignment :: =
objectsetreference
Def’medObjectClass
«:: = *
ObjectSet
13