ГОСТ Р ИСО 13584-20—2006
ABSTRACT SUPERTYPE
SUBTYPE OF (defined_function. string_expression),
END_ENTITY;
r
Неформальное утверждение
IP1 — подтип объекта string_defined_function может быть либо объектом goneric_expression,
либо он недолжен содержать ни одногообъекта generic_variable.
6.6 Функции для определения свойств выражения
Следующиедекларации наязыке EXPRESSустанавливаютразличныефункции, которыепозволя
ют определятьсвойства выражений.
6.6.1 Функция is_int_expr
Функция ls_lnt_expr проверяет, является ли результатом синтаксически правильного выражения
целочисленное значение или нет.
EXPRESS-спецификаиия
*)
FUNCTION is_int_expr(arg: numeric_expression):BOOLEAN;
LOCAL
i: INTEGER;
END_LOCAL;
D IF;
IF’IS013584_EXPRESSI0NS_SCHEMA.INT_LITERAL’ INTYPEOF(arg)
THEN
RETURN (TRUE);
END IF;
IF’IS013584_EXPRESSI0NS_SCHEMA.REAL_LITERAL’ INTYPEOF(arg)
THEN
RETURN (FALSE):
END IF;
IF’IS013584_EXPRESSIONS_SCHEMA.INT_NUMERIC_VARIABLE’ IN TYPEOF(arg)
THEN
RETURN (TRUE);
END IF;
IF’IS013584_EXPRESSI0NS_SCHEMA.REAL_NUMERIC_VARIABLE’ IN TYPEOF(arg)
THEN
RETURN (FALSE);
END IF;
IF’IS013584_EXPRESSI0NS_SCHEMA.ABS_FUNCTI0N’ IN TYPEOF(arg)
THEN
E
N
RETURN (is_int_expr(arg\unary_numeric_expression.operand));
IF’IS013584_EXPRESSI0NS_SCHEMA.MINUS_FUNCTI0N’ IN TYPEOF(arg)
THEN
RETURN (is_int_expr(arg\unary_numeric_expression.operand));
ENDJF;
IF (’IS013584_EXPRESS10NS_SCHEMA.SIN_FUNCTI0N’ IN TYPEOF (arg))
OR (’IS013584_EXPRESSI0NS_SCHEMA.C0S_FUNCTI0N’ IN TYPEOF(arg))
OR (*IS013584„EXPRESSIONS_SCHEMA.TAN_FUNCTION’ IN TYPEOF(arg))
OR (’IS013584_EXPRESSI0NS_SCHEMA.ASIN_FUNCTI0N’ INTYPEOF(arg))
OR (1S013584_EXPRESSIONS_SCHEMA.ACOS„FUNCTION’ INTYPEOF(arg))
0R(’IS013584_EXPRESSI0NS_SCHEMA.ATAN_FUNCTI0N’ IN TYPEOF(arg))
OR (1S013584_EXPRESSIONS_SCHEMA.EXP_FUNCTION’ IN TYPEOF(arg))
OR (‘IS013584_EXPRESSIONS_SCHEMA.LOG_FUNCTION’ INTYPEOF(arg))
37