ГОСТ Р ИСО 13584-20—2006
4.3 Семантика выражений
4.3.1 Семантика выражений
Выражения состоят из операторов иоперандов. Семантика выражения определяется:
- диапазоном функции, выполняемой каждым оператором;
- функцией интерпретации, котораясвязывает соответствующее значение с каждым операндом;
- функцией оценки, которая вычисляет результат каждогооператора вслучае ее применения к его
операндам.
В настоящем стандарте функция интерпретации моделируется определением подтипа объекта
variable_semantics. Функцияоценки в настоящем стандарте нерассматривается.
4.3.2 Периодобмена и период оценки
Обработка выражений включаетв себя следующиедва типа процедур, соответствующих периоду
обмена и периодуоценки;
1) Впериод обмена выражение представлено своейструктурой. Соответствующийориентированный
ациклический граф моделируется и обменивается. При этом нетребуется, чтобы переменные были ограни
чены какими-либо значениями, ноихсемантика известна. На этом уровне могут бытьвыполнены различные
виды статическогоанализа(ацикличность графа, проверкатипов, отображаемостьна языке SQL).
2) В период оценки выражению можетбыть присвоено значение. На этом этапе все переменные,
встречающиесяв выражении, должны получитькакое-либозначение. Динамическаяоценка выражения,
тестирование иотладка могут быть выполнены на этом уровне.
В настоящем стандарте рассматривается только статический анализ, который соответствует
периодуобмена. Обзор различныханализов выражений приведен в приложении F.
4.4 Уровни абстракции при моделировании выражений
Операторы, использованные в ISO_generic_expressions_schoma. позволяют определять
абстрактные обобщенные выражения, которые могут быть конкретизированы для различных целей и
типовданных.
4.4.1 Конкретизация IS013584_generic_expressions_schema
IS013584_expressions_schema является конкретизацией схемы IS013584_goneric_expressions_
schema. Операторы, используемые в IS013584_expressions_schema, принадлежат к подмножеству
операторов, определенных в ИСО 10303-11. Их диапазон и функция оценки должны соответствовать
спецификации, установленной в ИСО 10303-11.
Операнды являются либо константами, представленными в виде литеральных значений, либо
переменными, либодругимивыражениями. Переменныеимеют строгоопределенный типипредполага
ется, что, когда выражение оценивается в некотором контексте, функция интерпретации обеспечивает
каждую поременнуюзначением, соответствующим еетипуданных. Если этоусловие несоблюдается, то
результат оценки выражения будетошибочным.
В приложении Е рассмотрены детали процесса конкретизации и приведен метод создания других
возможных конкретизаций IS013584_generic_expressions_schema.
4.4.2 Конкретизация IS013584_expressions_schema
IS013584_expressions_schema может быть конкретизирована, чтобы соответствовать требова
ниям. которые не ограничиваются операторами с числовыми, строковыми и булевыми значениями,
определенными в руководстве поязыку EXPRESS в ИСО 10303-11.
Конкретизация IS013584_expressions_schema заключается либо в расширении схемы за счет
добавления определений новых объектов, которые выражают семантику функций, возвращая целое,
вещественное, булево или строковое значение, либо вопределении новых подтиповvariable_semantics.
Объекты, которые выражают семантику функций, должны быть определены как подтипы соответ
ствующего объекта defined_functJon. Действительно, функция, возвращающая целое, вещественное,
булево или строковое значение, соответственно должна быть определена как подтип
intoger_defined_function, real_defined_function. boolean_defined_function и string_defined_function.
Такая конкретизация совместимасо строгой проверкой типаданных, чтоследует из правилсхемы
IS013584_exprossions_schema.
В приложении Е установлены детали процесса конкретизации и приведена методика конкретиза
ции IS013584_expressions_schema.
4.5 Моделирование переменной
Переменная имеет три свойства;
4