ГОСТ Р И С 0 10303-11 — 2009
d)
переменная представлена определенным типом данных, основным типом которого является про
стой тип данных, а результатом выражения — значение данного простого типа данных;
e) переменная представлена агрегированным типомданных, а выражение является инициализатором
агрегированной структуры, элементы которой, при их наличии, совместимы по присваиванию с базисным
типом данного агрегированного типа данных;
0 если присваиваемый объект является уточненным, то следующие условия должны выполняться
для разных видов уточнения;
1)уточнение атрибутом;
- объявленный тип выражения, расположенного слева от ссылки на атрибут, должен быть
объектным типом данных или выбираемым типом данных, определенным с использованием, по
крайней мере, одного объектного типаданных. Атрибут, имя которого указано справа от ссылки на
атрибут, должен присутствовать в объектном типе данных или вобъекте, присутствующем в том
же графе подтипоа/супертипов. что и объектный тип данных,
- если результатом выражения, расположенного слева от ссылки на атрибут, является экзем
пляр. содержащий указанный атрибут, имеющий некоторое значение, то исходное значение заме
няется выражением, расположенным справа от оператора присваивания, если только уточнение
объекта, которому присваивается значение, не продолжается дальше; в последнем случае ис
пользуется данное дальнейшее уточнение.
- если результатом выражения, расположенного слева от ссылки на атрибут, является экзем
пляр. содержащий указанный атрибут, а данный атрибут имеет неопределенное (?) значение
(если он является необязательным или еще не инициализирован), то выражение, расположенное
справа от оператора присваивания, назначается данному атрибуту, если только уточнение объек
та. которому присваивается значение, не продолжаетсядальше; в последнем случае фиксирует
ся ошибка;
2) уточнение группой;
- объявленный тип выражения, расположенного слева от ссылки на группу, должен быть
объектным типом данных или выбираемым типом данных, определенным с использованием, по
крайней мере, одного объектного типа данных. Объект, имя которого указано справа от ссылки на
группу, должен присутствовать втом же графе подтипов/супертипов. что и объектный тип данных,
- если результатом выражения, расположенного слева от ссылки на группу, является экзем пляр.
содержащий имя объекта, указанное справа от ссылки на группу, то исходное частичное
значение сложного объекта заменяется выражением, расположенным справа от оператора при
сваивания. если только уточнение объекта, которому присваивается значение, не продолжается
дальше: в последнем случае используется данное дальнейшее уточнение;
3)уточнениеэлементом:
- объявленный тип выражения, расположенного слева от квалификатора элемента, должен
бытьодним из
(ARRAY. BINARY, LIST
или
STRING),
либо выбираемым типом данных, определен
ным с использованием одного изуказанных типовданных. Параметр
index_1
должен иметь цело
численное значение.
- выражение, расположенное слева от квалификатора элемента, должно быть инициализиро
вано, то есть иметь значение до того, как его элементам могут быть присвоены значения.
- если результат выражения, расположенного слева от квалификатора элемента, принадле
жит ктипуданных
ARRAY
и выполняется
{LOINDEX (left) <=index_1<=HIINDEX (left)},
то:
если в массиве уже имеется элемент на данной позиции, то выражение, расположенное
справа от оператора присваивания, замещает исходное значение, расположенное в массиве
на данной позиции, если только уточнение объекта, которому присваивается значение, не про
должается дальше; в последнем случае для исходного элемента используетсяданное даль
нейшее уточнение,
если в массиве на данной позиции присутствует неопределенное (?) значение, которое
далее не уточняется, то выражение, расположенное справа от оператора присваивания встав
ляется в массив на данную позицию,
- если результат выражения, расположенного слева от квалификатора элемента, принадле
жит ктипу данных
BINARY
и выполняется
{1<=index_1<=BLENGTH (left)},
то выражение, распо
ложенное справа от оператора присваивания, заменяет вдвоичном числе бит, расположенный на
данной позиции.
94