ГОСТ Р И С 0 10303-11 — 2009
объектного типа данных. Алгоритм, используемый для вычисления допустимых реализаций усеченного
графа лодтиповУсупертипов. приведен в приложении С.
11.4.4 Импорт функций
При импорте функций неявно импортируются:
- любые определенные типы данных или объектные типы данных, использованные в объявлении па
раметровдля импортируемой функции,
- любые определенные типы данных или объектные типы данных, использованные в определении
возвращаемого типа данныхдля импортируемой функции;
- любые определенные типы данных или объектные типы данных, использованные вобъявлении ло
кальных переменных в импортируемой функции;
-любые константы, функции или процедуры, использованные в импортируемой функции.
11.4.5 Импорт процедур
При импорте процедуры неявно импортируются;
- любые определенные типы данных или объектные типы данных, использованные в объявлении па
раметровдля импортируемой процедуры;
- любые определенные типы данных или объектные типы данных, использованные вобъявлении ло
кальных переменных в импортируемой процедуре;
- все константы, функции или процедуры, использованные в импортируемой процедуре.
11.4.6 Импорт правил
При импорте правила неявно импортируются;
- любые определенные типы данных или объектные типы данных, использованные вобъявлении ло
кальных переменных в импортируемом правиле;
- все константы, функции или процедуры, использованные в импортируемом правило.
11.4.7 Импорт ограничений подтипов
При импорте ограничения подтипов объекты не импортируются неявным образом.
Ограничения, заданные в импортируемом ограничении подтипов, преобразовываются после импор
тирования так. чтобы не допустить реализацию вданной схеме какого-либо сложного объектного типадан
ных. который не был разрешен в исходной внешней схеме (см. приложение С).
12 Выражения
Выражения являются комбинациями операторов, операндов и вызовов функций, которые вычисляют
ся для получения некоторого значения.
Синтаксис:
216 expression = simp»e_expression [ rel_op_extended simple_expression J.
283 rel_op_extended = rel_op | IN | LIKE.
282 rel_op = ’ < ’ | •> • |“ < = ‘ | •>=’ | •<>• | •= ’ | *;<>;1 |
305 simple_expression = term { add_like_op term).
325 term = factor { multiplication_like_op factor}.
217 factor = simple_factor [ •♦*• simplejactor ].
306 simple_factor = aggregatejnitializer | entityconstructor |
enumeration_reference | interval | query_expressk>n |
([ unary_op ] ( ’ ( ‘ expression *) * | primary) ) .
331 unary_op = ’ ♦ ’ || NOT.
269 primary = literal | ( qualifiable_factor { qualifier}).
257 multiplication_like_op = ** * | V | DIV | MOD | AND | ’ | Г -
168add_like_op = * ♦ ’ || OR | XO R.
Некоторым операторам требуется один операнд, а другим — два операнда. Оператор, которому
требуется только один операнд, должен располагаться перед своим операндом. Оператор, которому
требуются два операнда, должен располагаться между своими операндами. Вданном разделе определе
ны операторы и установлены типы данных операндов, которые могут использоваться каждым оператором.
Существует семь классов операторов:
а)Арифметические операторы принимают числовые операнды и выдают числовые результаты. Тип
данных значения результата арифметического оператора зависит от оператора и типов данных
операндов (см. 12.1).
68