FUNCTION acyclic
(* SCHEMA AUTOMOTIVE_DESIGN; *)
FUNCTION acyclic(arg1 : generic_expression; arg2 : SET OF generic_expression)
: BOOLEAN;
LOCAL
result : BOOLEAN;
END_LOCAL;
IF 'AUTOMOTIVE_DESIGN.SIMPLE_GENERIC_EXPRESSION' IN TYPEOF(arg1) THEN
RETURN (TRUE);
END_IF;
IF arg1 IN arg2 THEN
RETURN (FALSE);
END_IF;
IF 'AUTOMOTIVE_DESIGN.UNARY_GENERIC_EXPRESSION' IN TYPEOF(arg1) THEN
RETURN (acyclic(arg1\unary_generic_expression.operand, arg2 + [arg1]));
END_IF;
IF 'AUTOMOTIVE_DESIGN.BINARY_GENERIC_EXPRESSION' IN TYPEOF(arg1) THEN
RETURN (acyclic(arg1\binary_generic_expression.operands[1], arg2 + [arg1])
AND acyclic(arg1\binary_generic_expression.operands[2], arg2 + [arg1]));
END_IF;
IF 'AUTOMOTIVE_DESIGN.MULTIPLE_ARITY_GENERIC_EXPRESSION' IN TYPEOF(arg1)
THEN
result := TRUE;
REPEAT i := 1 TO SIZEOF(arg1\multiple_arity_generic_expression.operands);
result := result AND acyclic(arg1\multiple_arity_generic_expression.
operands[i], arg2 + [arg1]);
END_REPEAT;
RETURN (result);
END_IF;
END_FUNCTION; (* declared in: iso13584_generic_expressions_schema *)
Referenced By
Defintion acyclic is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:16:12-04:00