Статус документа
Статус документа

ГОСТ Р ИСО 10303-11-2000 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS

     13 Исполняемые операторы


Исполняемые операторы определяют действия функций, процедур и правил. Эти операторы могут производить действия только над локальными переменными для FUNCTION, PROCEDURE и RULE. Эти операторы используются для того, чтобы определить логические отношения и действия, необходимые для поддержки определения ограничений, то есть разделов WERE и RULE. Данные операторы не оказывают влияния на экземпляры объектов в области значений, как это определено в разделе 5. Исполняемыми операторами являются: пустой (null), ALIAS (псевдоимени), присваивания (assignment), CASE (альтернативы), составной (compound), ESCAPE (выхода), IF (условный), вызов процедуры (procedure call), REPEAT (цикла), RETURN (возврата) и SKIP (пропуска).

Синтаксис:

291 stmt = alias_stmt | assignment_stmt | case_stmt | compound_stmt | escape_stmt |

                     If_stmt | null_stmt | procedure_call_stmt | repeat_stmt | return_stmt |

                     skip_stmt .



Исполняемые операторы могут появляться только внутри FUNCTION, PROCEDURE или RULE.

13.1 Пустой оператор

Исполняемый оператор, который состоит только из точки с запятой (;), называется пустым (null) оператором. Никаких действий пустой оператор не выполняет.

Синтаксис:

247 null_stmt = `;` .



Пример 114 - Показано возможное использование пустого оператора.

IF a = 13 THEN

     ; -- это пустой оператор.

ELSE

     b := 5;

END_IF;

13.2 Оператор псевдоимени

Оператор ALIAS (псевдоимени) обеспечивает возможность локального переименования оп-ределенных переменных и параметров.

Синтаксис:

164 alias_stmt = ALIAS variable_id FOR general_ref { qualifier } `;` stmt { stmt }

                                       END_ALIAS `;` .

216 general_ref = parameter_ref | variable_ref .



В области действия оператора ALIAS выражение variable_id неявно объявляется соответствующей типизированной переменной, имеющей значения определенного идентификатора, следующего за ключевым словом FOR.

Примечание - Правила видимости для variable_id описаны в 10.3.1.


Пример 115 - Предположим, что существует тип объекта point (точка) с атрибутами x, y, z, оператор ALIAS может быть использован в функции calculate_length (вычислить длину) для сокращения длины возвращаемого выражения.

ENTITY line;

     start_point,

     end_point : point;

END_ENTITY;

FUNCTION calculate_length (the_line : line) : real;

ALIAS s FOR the_line.start_point;

     ALIAS e FOR the_line.end point;

     RETURN (SQRT((s.x - e.x)2 + (s.y - e.y)2 + (s.z - e.z)2)) ;

     END_ALIAS;

END_ALIAS;

END_FUNCTION;

13.3 Оператор присваивания

Оператор присваивания (assignment) используется для назначения экземпляра локальной переменной или параметра. Тип данных значения, присваиваемого переменной, должен быть совместим по присваиванию с переменной или параметром.

Примечание - Оператор присваивания может быть использован для определения того, что две локальные переменные являются одним и тем же экземпляром объекта.