(* SCHEMA ISO13584_generic_expressions_schema; *)
FUNCTION used_variables (arg : generic_expression) : SET OF generic_variable; LOCAL result : SET OF generic_variable := []; END_LOCAL; IF 'ISO13584_GENERIC_EXPRESSIONS_SCHEMA.GENERIC_VARIABLE' IN TYPEOF (arg) THEN RETURN ([arg]); END_IF; IF 'ISO13584_GENERIC_EXPRESSIONS_SCHEMA.UNARY_GENERIC_EXPRESSION' IN TYPEOF (arg) THEN RETURN (used_variables (arg\unary_generic_expression.operand)); END_IF; IF 'ISO13584_GENERIC_EXPRESSIONS_SCHEMA.BINARY_GENERIC_EXPRESSION' IN TYPEOF (arg) THEN RETURN(used_variables(arg\binary_generic_expression.operands[1]) + used_variables (arg\binary_generic_expression.operands[2])); END_IF; IF 'ISO13584_GENERIC_EXPRESSIONS_SCHEMA.MULTIPLE_ARITY_GENERIC_EXPRESSION' IN TYPEOF (arg) THEN REPEAT i := 1 TO SIZEOF(arg\multiple_arity_generic_expression.operands); result := result + used_variables( arg\multiple_arity_generic_expression.operands[i]); END_REPEAT; RETURN (result); END_IF; RETURN ([ ]); -- in this case the subtype shall not contain -- any variable (see IP1 in generic_expression) END_FUNCTION; -- used_variables
[Top Level Definitions] [Exit]
Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:14:00-04:00