FUNCTION convert_to_operand
(val : maths_value) : generic_expression;
LOCAL types : SET OF STRING := stripped_typeof (val); END_LOCAL; -- USE intermediate variables OF appropriate declared types TO help the compilers. IF 'GENERIC_EXPRESSION' IN types THEN RETURN (val); END_IF; IF 'MATHS_ATOM' IN types THEN RETURN (convert_to_literal (val)); END_IF; IF 'ATOM_BASED_VALUE' IN types THEN RETURN (make_atom_based_literal(val)); END_IF; IF 'MATHS_TUPLE' IN types THEN RETURN (make_maths_tuple_literal(val)); END_IF; -- Should be unreachable RETURN (?); END_FUNCTION; -- convert_to_operand
|