--- a/stage4/generate_cc/function_type_decl.h Tue Jun 19 08:42:10 2007 +0200
+++ b/stage4/generate_cc/function_type_decl.h Thu Jun 21 10:22:32 2007 +0200
@@ -4,511 +4,476 @@
* generated code, do not edit by hand
*/
typedef enum {
- function_real_to_real,
- function_real_to_sint,
- function_real_to_lint,
- function_real_to_dint,
- function_real_to_date,
- function_real_to_dword,
- function_real_to_dt,
- function_real_to_tod,
- function_real_to_udint,
- function_real_to_word,
- function_real_to_wstring,
- function_real_to_string,
- function_real_to_lword,
- function_real_to_uint,
- function_real_to_lreal,
- function_real_to_byte,
- function_real_to_usint,
- function_real_to_ulint,
- function_real_to_bool,
- function_real_to_time,
- function_real_to_int,
- function_sint_to_real,
- function_sint_to_sint,
- function_sint_to_lint,
- function_sint_to_dint,
- function_sint_to_date,
- function_sint_to_dword,
- function_sint_to_dt,
- function_sint_to_tod,
- function_sint_to_udint,
- function_sint_to_word,
- function_sint_to_wstring,
- function_sint_to_string,
- function_sint_to_lword,
- function_sint_to_uint,
- function_sint_to_lreal,
- function_sint_to_byte,
- function_sint_to_usint,
- function_sint_to_ulint,
- function_sint_to_bool,
- function_sint_to_time,
- function_sint_to_int,
- function_lint_to_real,
- function_lint_to_sint,
- function_lint_to_lint,
- function_lint_to_dint,
- function_lint_to_date,
- function_lint_to_dword,
- function_lint_to_dt,
- function_lint_to_tod,
- function_lint_to_udint,
- function_lint_to_word,
- function_lint_to_wstring,
- function_lint_to_string,
- function_lint_to_lword,
- function_lint_to_uint,
- function_lint_to_lreal,
- function_lint_to_byte,
- function_lint_to_usint,
- function_lint_to_ulint,
- function_lint_to_bool,
- function_lint_to_time,
- function_lint_to_int,
- function_dint_to_real,
- function_dint_to_sint,
- function_dint_to_lint,
- function_dint_to_dint,
- function_dint_to_date,
- function_dint_to_dword,
- function_dint_to_dt,
- function_dint_to_tod,
- function_dint_to_udint,
- function_dint_to_word,
- function_dint_to_wstring,
- function_dint_to_string,
- function_dint_to_lword,
- function_dint_to_uint,
- function_dint_to_lreal,
- function_dint_to_byte,
- function_dint_to_usint,
- function_dint_to_ulint,
- function_dint_to_bool,
- function_dint_to_time,
- function_dint_to_int,
- function_date_to_real,
- function_date_to_sint,
- function_date_to_lint,
- function_date_to_dint,
- function_date_to_date,
- function_date_to_dword,
- function_date_to_dt,
- function_date_to_tod,
- function_date_to_udint,
- function_date_to_word,
- function_date_to_wstring,
- function_date_to_string,
- function_date_to_lword,
- function_date_to_uint,
- function_date_to_lreal,
- function_date_to_byte,
- function_date_to_usint,
- function_date_to_ulint,
- function_date_to_bool,
- function_date_to_time,
- function_date_to_int,
- function_dword_to_real,
- function_dword_to_sint,
- function_dword_to_lint,
- function_dword_to_dint,
- function_dword_to_date,
- function_dword_to_dword,
- function_dword_to_dt,
- function_dword_to_tod,
- function_dword_to_udint,
- function_dword_to_word,
- function_dword_to_wstring,
- function_dword_to_string,
- function_dword_to_lword,
- function_dword_to_uint,
- function_dword_to_lreal,
- function_dword_to_byte,
- function_dword_to_usint,
- function_dword_to_ulint,
- function_dword_to_bool,
- function_dword_to_time,
- function_dword_to_int,
- function_dt_to_real,
- function_dt_to_sint,
- function_dt_to_lint,
- function_dt_to_dint,
- function_dt_to_date,
- function_dt_to_dword,
- function_dt_to_dt,
- function_dt_to_tod,
- function_dt_to_udint,
- function_dt_to_word,
- function_dt_to_wstring,
- function_dt_to_string,
- function_dt_to_lword,
- function_dt_to_uint,
- function_dt_to_lreal,
- function_dt_to_byte,
- function_dt_to_usint,
- function_dt_to_ulint,
- function_dt_to_bool,
- function_dt_to_time,
- function_dt_to_int,
- function_tod_to_real,
- function_tod_to_sint,
- function_tod_to_lint,
- function_tod_to_dint,
- function_tod_to_date,
- function_tod_to_dword,
- function_tod_to_dt,
- function_tod_to_tod,
- function_tod_to_udint,
- function_tod_to_word,
- function_tod_to_wstring,
- function_tod_to_string,
- function_tod_to_lword,
- function_tod_to_uint,
- function_tod_to_lreal,
- function_tod_to_byte,
- function_tod_to_usint,
- function_tod_to_ulint,
- function_tod_to_bool,
- function_tod_to_time,
- function_tod_to_int,
- function_udint_to_real,
- function_udint_to_sint,
- function_udint_to_lint,
- function_udint_to_dint,
- function_udint_to_date,
- function_udint_to_dword,
- function_udint_to_dt,
- function_udint_to_tod,
- function_udint_to_udint,
- function_udint_to_word,
- function_udint_to_wstring,
- function_udint_to_string,
- function_udint_to_lword,
- function_udint_to_uint,
- function_udint_to_lreal,
- function_udint_to_byte,
- function_udint_to_usint,
- function_udint_to_ulint,
- function_udint_to_bool,
- function_udint_to_time,
- function_udint_to_int,
- function_word_to_real,
- function_word_to_sint,
- function_word_to_lint,
- function_word_to_dint,
- function_word_to_date,
- function_word_to_dword,
- function_word_to_dt,
- function_word_to_tod,
- function_word_to_udint,
- function_word_to_word,
- function_word_to_wstring,
- function_word_to_string,
- function_word_to_lword,
- function_word_to_uint,
- function_word_to_lreal,
- function_word_to_byte,
- function_word_to_usint,
- function_word_to_ulint,
- function_word_to_bool,
- function_word_to_time,
- function_word_to_int,
- function_wstring_to_real,
- function_wstring_to_sint,
- function_wstring_to_lint,
- function_wstring_to_dint,
- function_wstring_to_date,
- function_wstring_to_dword,
- function_wstring_to_dt,
- function_wstring_to_tod,
- function_wstring_to_udint,
- function_wstring_to_word,
- function_wstring_to_wstring,
- function_wstring_to_string,
- function_wstring_to_lword,
- function_wstring_to_uint,
- function_wstring_to_lreal,
- function_wstring_to_byte,
- function_wstring_to_usint,
- function_wstring_to_ulint,
- function_wstring_to_bool,
- function_wstring_to_time,
- function_wstring_to_int,
- function_string_to_real,
- function_string_to_sint,
- function_string_to_lint,
- function_string_to_dint,
- function_string_to_date,
- function_string_to_dword,
- function_string_to_dt,
- function_string_to_tod,
- function_string_to_udint,
- function_string_to_word,
- function_string_to_wstring,
- function_string_to_string,
- function_string_to_lword,
- function_string_to_uint,
- function_string_to_lreal,
- function_string_to_byte,
- function_string_to_usint,
- function_string_to_ulint,
- function_string_to_bool,
- function_string_to_time,
- function_string_to_int,
- function_lword_to_real,
- function_lword_to_sint,
- function_lword_to_lint,
- function_lword_to_dint,
- function_lword_to_date,
- function_lword_to_dword,
- function_lword_to_dt,
- function_lword_to_tod,
- function_lword_to_udint,
- function_lword_to_word,
- function_lword_to_wstring,
- function_lword_to_string,
- function_lword_to_lword,
- function_lword_to_uint,
- function_lword_to_lreal,
- function_lword_to_byte,
- function_lword_to_usint,
- function_lword_to_ulint,
- function_lword_to_bool,
- function_lword_to_time,
- function_lword_to_int,
- function_uint_to_real,
- function_uint_to_sint,
- function_uint_to_lint,
- function_uint_to_dint,
- function_uint_to_date,
- function_uint_to_dword,
- function_uint_to_dt,
- function_uint_to_tod,
- function_uint_to_udint,
- function_uint_to_word,
- function_uint_to_wstring,
- function_uint_to_string,
- function_uint_to_lword,
- function_uint_to_uint,
- function_uint_to_lreal,
- function_uint_to_byte,
- function_uint_to_usint,
- function_uint_to_ulint,
- function_uint_to_bool,
- function_uint_to_time,
- function_uint_to_int,
- function_lreal_to_real,
- function_lreal_to_sint,
- function_lreal_to_lint,
- function_lreal_to_dint,
- function_lreal_to_date,
- function_lreal_to_dword,
- function_lreal_to_dt,
- function_lreal_to_tod,
- function_lreal_to_udint,
- function_lreal_to_word,
- function_lreal_to_wstring,
- function_lreal_to_string,
- function_lreal_to_lword,
- function_lreal_to_uint,
- function_lreal_to_lreal,
- function_lreal_to_byte,
- function_lreal_to_usint,
- function_lreal_to_ulint,
- function_lreal_to_bool,
- function_lreal_to_time,
- function_lreal_to_int,
- function_byte_to_real,
- function_byte_to_sint,
- function_byte_to_lint,
- function_byte_to_dint,
- function_byte_to_date,
- function_byte_to_dword,
- function_byte_to_dt,
- function_byte_to_tod,
- function_byte_to_udint,
- function_byte_to_word,
- function_byte_to_wstring,
- function_byte_to_string,
- function_byte_to_lword,
- function_byte_to_uint,
- function_byte_to_lreal,
- function_byte_to_byte,
- function_byte_to_usint,
- function_byte_to_ulint,
- function_byte_to_bool,
- function_byte_to_time,
- function_byte_to_int,
- function_usint_to_real,
- function_usint_to_sint,
- function_usint_to_lint,
- function_usint_to_dint,
- function_usint_to_date,
- function_usint_to_dword,
- function_usint_to_dt,
- function_usint_to_tod,
- function_usint_to_udint,
- function_usint_to_word,
- function_usint_to_wstring,
- function_usint_to_string,
- function_usint_to_lword,
- function_usint_to_uint,
- function_usint_to_lreal,
- function_usint_to_byte,
- function_usint_to_usint,
- function_usint_to_ulint,
- function_usint_to_bool,
- function_usint_to_time,
- function_usint_to_int,
- function_ulint_to_real,
- function_ulint_to_sint,
- function_ulint_to_lint,
- function_ulint_to_dint,
- function_ulint_to_date,
- function_ulint_to_dword,
- function_ulint_to_dt,
- function_ulint_to_tod,
- function_ulint_to_udint,
- function_ulint_to_word,
- function_ulint_to_wstring,
- function_ulint_to_string,
- function_ulint_to_lword,
- function_ulint_to_uint,
- function_ulint_to_lreal,
- function_ulint_to_byte,
- function_ulint_to_usint,
- function_ulint_to_ulint,
- function_ulint_to_bool,
- function_ulint_to_time,
- function_ulint_to_int,
- function_bool_to_real,
- function_bool_to_sint,
- function_bool_to_lint,
- function_bool_to_dint,
- function_bool_to_date,
- function_bool_to_dword,
- function_bool_to_dt,
- function_bool_to_tod,
- function_bool_to_udint,
- function_bool_to_word,
- function_bool_to_wstring,
- function_bool_to_string,
- function_bool_to_lword,
- function_bool_to_uint,
- function_bool_to_lreal,
- function_bool_to_byte,
- function_bool_to_usint,
- function_bool_to_ulint,
- function_bool_to_bool,
- function_bool_to_time,
- function_bool_to_int,
- function_time_to_real,
- function_time_to_sint,
- function_time_to_lint,
- function_time_to_dint,
- function_time_to_date,
- function_time_to_dword,
- function_time_to_dt,
- function_time_to_tod,
- function_time_to_udint,
- function_time_to_word,
- function_time_to_wstring,
- function_time_to_string,
- function_time_to_lword,
- function_time_to_uint,
- function_time_to_lreal,
- function_time_to_byte,
- function_time_to_usint,
- function_time_to_ulint,
- function_time_to_bool,
- function_time_to_time,
- function_time_to_int,
- function_int_to_real,
- function_int_to_sint,
- function_int_to_lint,
- function_int_to_dint,
- function_int_to_date,
- function_int_to_dword,
- function_int_to_dt,
- function_int_to_tod,
- function_int_to_udint,
- function_int_to_word,
- function_int_to_wstring,
- function_int_to_string,
- function_int_to_lword,
- function_int_to_uint,
- function_int_to_lreal,
- function_int_to_byte,
- function_int_to_usint,
- function_int_to_ulint,
- function_int_to_bool,
- function_int_to_time,
- function_int_to_int,
- function_trunc,
- function_bcd_to_sint,
- function_bcd_to_lint,
- function_bcd_to_dint,
- function_bcd_to_udint,
- function_bcd_to_uint,
- function_bcd_to_usint,
- function_bcd_to_ulint,
- function_bcd_to_int,
- function_sint_to_bcd,
- function_lint_to_bcd,
- function_dint_to_bcd,
- function_udint_to_bcd,
- function_uint_to_bcd,
- function_usint_to_bcd,
- function_ulint_to_bcd,
- function_int_to_bcd,
- function_date_and_time_to_time_of_day,
- function_date_and_time_to_date,
- function_abs,
- function_sqrt,
- function_ln,
- function_log,
- function_exp,
- function_sin,
- function_cos,
- function_tan,
- function_asin,
- function_acos,
- function_atan,
- function_add,
- function_mul,
- function_sub,
- function_div,
- function_mod,
- function_expt,
- function_move,
- function_shl,
- function_shr,
- function_ror,
- function_rol,
- function_and,
- function_or,
- function_xor,
- function_not,
- function_sel,
- function_max,
- function_min,
- function_limit,
- function_mux,
- function_gt,
- function_ge,
- function_eq,
- function_lt,
- function_le,
- function_ne,
- function_len,
- function_left,
- function_right,
- function_mid,
- function_concat,
- function_insert,
- function_delete,
- function_replace,
- function_find,
- function_none
+ function_real_to_lreal,
+ function_real_to_sint,
+ function_real_to_int,
+ function_real_to_dint,
+ function_real_to_lint,
+ function_real_to_usint,
+ function_real_to_uint,
+ function_real_to_udint,
+ function_real_to_ulint,
+ function_real_to_time,
+ function_real_to_bool,
+ function_real_to_byte,
+ function_real_to_word,
+ function_real_to_dword,
+ function_real_to_lword,
+ function_real_to_string,
+ function_real_to_wstring,
+ function_real_to_date,
+ function_real_to_tod,
+ function_real_to_dt,
+ function_lreal_to_real,
+ function_lreal_to_sint,
+ function_lreal_to_int,
+ function_lreal_to_dint,
+ function_lreal_to_lint,
+ function_lreal_to_usint,
+ function_lreal_to_uint,
+ function_lreal_to_udint,
+ function_lreal_to_ulint,
+ function_lreal_to_time,
+ function_lreal_to_bool,
+ function_lreal_to_byte,
+ function_lreal_to_word,
+ function_lreal_to_dword,
+ function_lreal_to_lword,
+ function_lreal_to_string,
+ function_lreal_to_wstring,
+ function_lreal_to_date,
+ function_lreal_to_tod,
+ function_lreal_to_dt,
+ function_sint_to_real,
+ function_sint_to_lreal,
+ function_sint_to_int,
+ function_sint_to_dint,
+ function_sint_to_lint,
+ function_sint_to_usint,
+ function_sint_to_uint,
+ function_sint_to_udint,
+ function_sint_to_ulint,
+ function_sint_to_time,
+ function_sint_to_bool,
+ function_sint_to_byte,
+ function_sint_to_word,
+ function_sint_to_dword,
+ function_sint_to_lword,
+ function_sint_to_string,
+ function_sint_to_wstring,
+ function_sint_to_date,
+ function_sint_to_tod,
+ function_sint_to_dt,
+ function_int_to_real,
+ function_int_to_lreal,
+ function_int_to_sint,
+ function_int_to_dint,
+ function_int_to_lint,
+ function_int_to_usint,
+ function_int_to_uint,
+ function_int_to_udint,
+ function_int_to_ulint,
+ function_int_to_time,
+ function_int_to_bool,
+ function_int_to_byte,
+ function_int_to_word,
+ function_int_to_dword,
+ function_int_to_lword,
+ function_int_to_string,
+ function_int_to_wstring,
+ function_int_to_date,
+ function_int_to_tod,
+ function_int_to_dt,
+ function_dint_to_real,
+ function_dint_to_lreal,
+ function_dint_to_sint,
+ function_dint_to_int,
+ function_dint_to_lint,
+ function_dint_to_usint,
+ function_dint_to_uint,
+ function_dint_to_udint,
+ function_dint_to_ulint,
+ function_dint_to_time,
+ function_dint_to_bool,
+ function_dint_to_byte,
+ function_dint_to_word,
+ function_dint_to_dword,
+ function_dint_to_lword,
+ function_dint_to_string,
+ function_dint_to_wstring,
+ function_dint_to_date,
+ function_dint_to_tod,
+ function_dint_to_dt,
+ function_lint_to_real,
+ function_lint_to_lreal,
+ function_lint_to_sint,
+ function_lint_to_int,
+ function_lint_to_dint,
+ function_lint_to_usint,
+ function_lint_to_uint,
+ function_lint_to_udint,
+ function_lint_to_ulint,
+ function_lint_to_time,
+ function_lint_to_bool,
+ function_lint_to_byte,
+ function_lint_to_word,
+ function_lint_to_dword,
+ function_lint_to_lword,
+ function_lint_to_string,
+ function_lint_to_wstring,
+ function_lint_to_date,
+ function_lint_to_tod,
+ function_lint_to_dt,
+ function_usint_to_real,
+ function_usint_to_lreal,
+ function_usint_to_sint,
+ function_usint_to_int,
+ function_usint_to_dint,
+ function_usint_to_lint,
+ function_usint_to_uint,
+ function_usint_to_udint,
+ function_usint_to_ulint,
+ function_usint_to_time,
+ function_usint_to_bool,
+ function_usint_to_byte,
+ function_usint_to_word,
+ function_usint_to_dword,
+ function_usint_to_lword,
+ function_usint_to_string,
+ function_usint_to_wstring,
+ function_usint_to_date,
+ function_usint_to_tod,
+ function_usint_to_dt,
+ function_uint_to_real,
+ function_uint_to_lreal,
+ function_uint_to_sint,
+ function_uint_to_int,
+ function_uint_to_dint,
+ function_uint_to_lint,
+ function_uint_to_usint,
+ function_uint_to_udint,
+ function_uint_to_ulint,
+ function_uint_to_time,
+ function_uint_to_bool,
+ function_uint_to_byte,
+ function_uint_to_word,
+ function_uint_to_dword,
+ function_uint_to_lword,
+ function_uint_to_string,
+ function_uint_to_wstring,
+ function_uint_to_date,
+ function_uint_to_tod,
+ function_uint_to_dt,
+ function_udint_to_real,
+ function_udint_to_lreal,
+ function_udint_to_sint,
+ function_udint_to_int,
+ function_udint_to_dint,
+ function_udint_to_lint,
+ function_udint_to_usint,
+ function_udint_to_uint,
+ function_udint_to_ulint,
+ function_udint_to_time,
+ function_udint_to_bool,
+ function_udint_to_byte,
+ function_udint_to_word,
+ function_udint_to_dword,
+ function_udint_to_lword,
+ function_udint_to_string,
+ function_udint_to_wstring,
+ function_udint_to_date,
+ function_udint_to_tod,
+ function_udint_to_dt,
+ function_ulint_to_real,
+ function_ulint_to_lreal,
+ function_ulint_to_sint,
+ function_ulint_to_int,
+ function_ulint_to_dint,
+ function_ulint_to_lint,
+ function_ulint_to_usint,
+ function_ulint_to_uint,
+ function_ulint_to_udint,
+ function_ulint_to_time,
+ function_ulint_to_bool,
+ function_ulint_to_byte,
+ function_ulint_to_word,
+ function_ulint_to_dword,
+ function_ulint_to_lword,
+ function_ulint_to_string,
+ function_ulint_to_wstring,
+ function_ulint_to_date,
+ function_ulint_to_tod,
+ function_ulint_to_dt,
+ function_time_to_real,
+ function_time_to_lreal,
+ function_time_to_sint,
+ function_time_to_int,
+ function_time_to_dint,
+ function_time_to_lint,
+ function_time_to_usint,
+ function_time_to_uint,
+ function_time_to_udint,
+ function_time_to_ulint,
+ function_time_to_bool,
+ function_time_to_byte,
+ function_time_to_word,
+ function_time_to_dword,
+ function_time_to_lword,
+ function_time_to_string,
+ function_time_to_wstring,
+ function_bool_to_real,
+ function_bool_to_lreal,
+ function_bool_to_sint,
+ function_bool_to_int,
+ function_bool_to_dint,
+ function_bool_to_lint,
+ function_bool_to_usint,
+ function_bool_to_uint,
+ function_bool_to_udint,
+ function_bool_to_ulint,
+ function_bool_to_time,
+ function_bool_to_byte,
+ function_bool_to_word,
+ function_bool_to_dword,
+ function_bool_to_lword,
+ function_bool_to_string,
+ function_bool_to_wstring,
+ function_bool_to_date,
+ function_bool_to_tod,
+ function_bool_to_dt,
+ function_byte_to_real,
+ function_byte_to_lreal,
+ function_byte_to_sint,
+ function_byte_to_int,
+ function_byte_to_dint,
+ function_byte_to_lint,
+ function_byte_to_usint,
+ function_byte_to_uint,
+ function_byte_to_udint,
+ function_byte_to_ulint,
+ function_byte_to_time,
+ function_byte_to_bool,
+ function_byte_to_word,
+ function_byte_to_dword,
+ function_byte_to_lword,
+ function_byte_to_string,
+ function_byte_to_wstring,
+ function_byte_to_date,
+ function_byte_to_tod,
+ function_byte_to_dt,
+ function_word_to_real,
+ function_word_to_lreal,
+ function_word_to_sint,
+ function_word_to_int,
+ function_word_to_dint,
+ function_word_to_lint,
+ function_word_to_usint,
+ function_word_to_uint,
+ function_word_to_udint,
+ function_word_to_ulint,
+ function_word_to_time,
+ function_word_to_bool,
+ function_word_to_byte,
+ function_word_to_dword,
+ function_word_to_lword,
+ function_word_to_string,
+ function_word_to_wstring,
+ function_word_to_date,
+ function_word_to_tod,
+ function_word_to_dt,
+ function_dword_to_real,
+ function_dword_to_lreal,
+ function_dword_to_sint,
+ function_dword_to_int,
+ function_dword_to_dint,
+ function_dword_to_lint,
+ function_dword_to_usint,
+ function_dword_to_uint,
+ function_dword_to_udint,
+ function_dword_to_ulint,
+ function_dword_to_time,
+ function_dword_to_bool,
+ function_dword_to_byte,
+ function_dword_to_word,
+ function_dword_to_lword,
+ function_dword_to_string,
+ function_dword_to_wstring,
+ function_dword_to_date,
+ function_dword_to_tod,
+ function_dword_to_dt,
+ function_lword_to_real,
+ function_lword_to_lreal,
+ function_lword_to_sint,
+ function_lword_to_int,
+ function_lword_to_dint,
+ function_lword_to_lint,
+ function_lword_to_usint,
+ function_lword_to_uint,
+ function_lword_to_udint,
+ function_lword_to_ulint,
+ function_lword_to_time,
+ function_lword_to_bool,
+ function_lword_to_byte,
+ function_lword_to_word,
+ function_lword_to_dword,
+ function_lword_to_string,
+ function_lword_to_wstring,
+ function_lword_to_date,
+ function_lword_to_tod,
+ function_lword_to_dt,
+ function_string_to_real,
+ function_string_to_lreal,
+ function_string_to_sint,
+ function_string_to_int,
+ function_string_to_dint,
+ function_string_to_lint,
+ function_string_to_usint,
+ function_string_to_uint,
+ function_string_to_udint,
+ function_string_to_ulint,
+ function_string_to_time,
+ function_string_to_bool,
+ function_string_to_byte,
+ function_string_to_word,
+ function_string_to_dword,
+ function_string_to_lword,
+ function_string_to_date,
+ function_string_to_tod,
+ function_string_to_dt,
+ function_wstring_to_real,
+ function_wstring_to_lreal,
+ function_wstring_to_sint,
+ function_wstring_to_int,
+ function_wstring_to_dint,
+ function_wstring_to_lint,
+ function_wstring_to_usint,
+ function_wstring_to_uint,
+ function_wstring_to_udint,
+ function_wstring_to_ulint,
+ function_wstring_to_time,
+ function_wstring_to_bool,
+ function_wstring_to_byte,
+ function_wstring_to_word,
+ function_wstring_to_dword,
+ function_wstring_to_lword,
+ function_wstring_to_date,
+ function_wstring_to_tod,
+ function_wstring_to_dt,
+ function_date_to_real,
+ function_date_to_lreal,
+ function_date_to_sint,
+ function_date_to_int,
+ function_date_to_dint,
+ function_date_to_lint,
+ function_date_to_usint,
+ function_date_to_uint,
+ function_date_to_udint,
+ function_date_to_ulint,
+ function_date_to_bool,
+ function_date_to_byte,
+ function_date_to_word,
+ function_date_to_dword,
+ function_date_to_lword,
+ function_date_to_string,
+ function_date_to_wstring,
+ function_tod_to_real,
+ function_tod_to_lreal,
+ function_tod_to_sint,
+ function_tod_to_int,
+ function_tod_to_dint,
+ function_tod_to_lint,
+ function_tod_to_usint,
+ function_tod_to_uint,
+ function_tod_to_udint,
+ function_tod_to_ulint,
+ function_tod_to_bool,
+ function_tod_to_byte,
+ function_tod_to_word,
+ function_tod_to_dword,
+ function_tod_to_lword,
+ function_tod_to_string,
+ function_tod_to_wstring,
+ function_dt_to_real,
+ function_dt_to_lreal,
+ function_dt_to_sint,
+ function_dt_to_int,
+ function_dt_to_dint,
+ function_dt_to_lint,
+ function_dt_to_usint,
+ function_dt_to_uint,
+ function_dt_to_udint,
+ function_dt_to_ulint,
+ function_dt_to_bool,
+ function_dt_to_byte,
+ function_dt_to_word,
+ function_dt_to_dword,
+ function_dt_to_lword,
+ function_dt_to_string,
+ function_dt_to_wstring,
+ function_trunc,
+ function_bcd_to_sint,
+ function_bcd_to_int,
+ function_bcd_to_dint,
+ function_bcd_to_lint,
+ function_bcd_to_usint,
+ function_bcd_to_uint,
+ function_bcd_to_udint,
+ function_bcd_to_ulint,
+ function_sint_to_bcd,
+ function_int_to_bcd,
+ function_dint_to_bcd,
+ function_lint_to_bcd,
+ function_usint_to_bcd,
+ function_uint_to_bcd,
+ function_udint_to_bcd,
+ function_ulint_to_bcd,
+ function_date_and_time_to_time_of_day,
+ function_date_and_time_to_date,
+ function_abs,
+ function_sqrt,
+ function_ln,
+ function_log,
+ function_exp,
+ function_sin,
+ function_cos,
+ function_tan,
+ function_asin,
+ function_acos,
+ function_atan,
+ function_add,
+ function_mul,
+ function_sub,
+ function_div,
+ function_mod,
+ function_expt,
+ function_move,
+ function_shl,
+ function_shr,
+ function_ror,
+ function_rol,
+ function_and,
+ function_or,
+ function_xor,
+ function_not,
+ function_sel,
+ function_max,
+ function_min,
+ function_limit,
+ function_mux,
+ function_gt,
+ function_ge,
+ function_eq,
+ function_lt,
+ function_le,
+ function_ne,
+ function_len,
+ function_left,
+ function_right,
+ function_mid,
+ function_concat,
+ function_insert,
+ function_delete,
+ function_replace,
+ function_find,
+ function_none
} function_type_t;
--- a/stage4/generate_cc/generate_cc_il.cc Tue Jun 19 08:42:10 2007 +0200
+++ b/stage4/generate_cc/generate_cc_il.cc Thu Jun 21 10:22:32 2007 +0200
@@ -569,7 +569,10 @@
int nb_param = 1;
if (symbol->il_operand_list != NULL)
nb_param += ((list_c *)symbol->il_operand_list)->n;
-
+
+#include "il_code_gen.c"
+
+#if 0
for(int current_param = 0; current_param < nb_param; current_param++) {
symbol_c *param_value;
if (current_param == 0)
@@ -604,7 +607,8 @@
default: ERROR;
}
} /* for(...) */
-
+#endif
+
/* the data type returned by the function, and stored in the il default variable... */
default_variable_name.current_type = return_data_type;
}
--- a/stage4/generate_cc/get_function_type_decl.c Tue Jun 19 08:42:10 2007 +0200
+++ b/stage4/generate_cc/get_function_type_decl.c Thu Jun 21 10:22:32 2007 +0200
@@ -5,1524 +5,1419 @@
*/
function_type_t get_function_type(identifier_c *function_name) {
- if (!strcasecmp(function_name->value, "REAL_TO_REAL"))
- return function_real_to_real;
-
- if (!strcasecmp(function_name->value, "REAL_TO_SINT"))
- return function_real_to_sint;
-
- if (!strcasecmp(function_name->value, "REAL_TO_LINT"))
- return function_real_to_lint;
-
- if (!strcasecmp(function_name->value, "REAL_TO_DINT"))
- return function_real_to_dint;
-
- if (!strcasecmp(function_name->value, "REAL_TO_DATE"))
- return function_real_to_date;
-
- if (!strcasecmp(function_name->value, "REAL_TO_DWORD"))
- return function_real_to_dword;
-
- if (!strcasecmp(function_name->value, "REAL_TO_DT"))
- return function_real_to_dt;
-
- if (!strcasecmp(function_name->value, "REAL_TO_TOD"))
- return function_real_to_tod;
-
- if (!strcasecmp(function_name->value, "REAL_TO_UDINT"))
- return function_real_to_udint;
-
- if (!strcasecmp(function_name->value, "REAL_TO_WORD"))
- return function_real_to_word;
-
- if (!strcasecmp(function_name->value, "REAL_TO_WSTRING"))
- return function_real_to_wstring;
-
- if (!strcasecmp(function_name->value, "REAL_TO_STRING"))
- return function_real_to_string;
-
- if (!strcasecmp(function_name->value, "REAL_TO_LWORD"))
- return function_real_to_lword;
-
- if (!strcasecmp(function_name->value, "REAL_TO_UINT"))
- return function_real_to_uint;
-
- if (!strcasecmp(function_name->value, "REAL_TO_LREAL"))
- return function_real_to_lreal;
-
- if (!strcasecmp(function_name->value, "REAL_TO_BYTE"))
- return function_real_to_byte;
-
- if (!strcasecmp(function_name->value, "REAL_TO_USINT"))
- return function_real_to_usint;
-
- if (!strcasecmp(function_name->value, "REAL_TO_ULINT"))
- return function_real_to_ulint;
-
- if (!strcasecmp(function_name->value, "REAL_TO_BOOL"))
- return function_real_to_bool;
-
- if (!strcasecmp(function_name->value, "REAL_TO_TIME"))
- return function_real_to_time;
-
- if (!strcasecmp(function_name->value, "REAL_TO_INT"))
- return function_real_to_int;
-
- if (!strcasecmp(function_name->value, "SINT_TO_REAL"))
- return function_sint_to_real;
-
- if (!strcasecmp(function_name->value, "SINT_TO_SINT"))
- return function_sint_to_sint;
-
- if (!strcasecmp(function_name->value, "SINT_TO_LINT"))
- return function_sint_to_lint;
-
- if (!strcasecmp(function_name->value, "SINT_TO_DINT"))
- return function_sint_to_dint;
-
- if (!strcasecmp(function_name->value, "SINT_TO_DATE"))
- return function_sint_to_date;
-
- if (!strcasecmp(function_name->value, "SINT_TO_DWORD"))
- return function_sint_to_dword;
-
- if (!strcasecmp(function_name->value, "SINT_TO_DT"))
- return function_sint_to_dt;
-
- if (!strcasecmp(function_name->value, "SINT_TO_TOD"))
- return function_sint_to_tod;
-
- if (!strcasecmp(function_name->value, "SINT_TO_UDINT"))
- return function_sint_to_udint;
-
- if (!strcasecmp(function_name->value, "SINT_TO_WORD"))
- return function_sint_to_word;
-
- if (!strcasecmp(function_name->value, "SINT_TO_WSTRING"))
- return function_sint_to_wstring;
-
- if (!strcasecmp(function_name->value, "SINT_TO_STRING"))
- return function_sint_to_string;
-
- if (!strcasecmp(function_name->value, "SINT_TO_LWORD"))
- return function_sint_to_lword;
-
- if (!strcasecmp(function_name->value, "SINT_TO_UINT"))
- return function_sint_to_uint;
-
- if (!strcasecmp(function_name->value, "SINT_TO_LREAL"))
- return function_sint_to_lreal;
-
- if (!strcasecmp(function_name->value, "SINT_TO_BYTE"))
- return function_sint_to_byte;
-
- if (!strcasecmp(function_name->value, "SINT_TO_USINT"))
- return function_sint_to_usint;
-
- if (!strcasecmp(function_name->value, "SINT_TO_ULINT"))
- return function_sint_to_ulint;
-
- if (!strcasecmp(function_name->value, "SINT_TO_BOOL"))
- return function_sint_to_bool;
-
- if (!strcasecmp(function_name->value, "SINT_TO_TIME"))
- return function_sint_to_time;
-
- if (!strcasecmp(function_name->value, "SINT_TO_INT"))
- return function_sint_to_int;
-
- if (!strcasecmp(function_name->value, "LINT_TO_REAL"))
- return function_lint_to_real;
-
- if (!strcasecmp(function_name->value, "LINT_TO_SINT"))
- return function_lint_to_sint;
-
- if (!strcasecmp(function_name->value, "LINT_TO_LINT"))
- return function_lint_to_lint;
-
- if (!strcasecmp(function_name->value, "LINT_TO_DINT"))
- return function_lint_to_dint;
-
- if (!strcasecmp(function_name->value, "LINT_TO_DATE"))
- return function_lint_to_date;
-
- if (!strcasecmp(function_name->value, "LINT_TO_DWORD"))
- return function_lint_to_dword;
-
- if (!strcasecmp(function_name->value, "LINT_TO_DT"))
- return function_lint_to_dt;
-
- if (!strcasecmp(function_name->value, "LINT_TO_TOD"))
- return function_lint_to_tod;
-
- if (!strcasecmp(function_name->value, "LINT_TO_UDINT"))
- return function_lint_to_udint;
-
- if (!strcasecmp(function_name->value, "LINT_TO_WORD"))
- return function_lint_to_word;
-
- if (!strcasecmp(function_name->value, "LINT_TO_WSTRING"))
- return function_lint_to_wstring;
-
- if (!strcasecmp(function_name->value, "LINT_TO_STRING"))
- return function_lint_to_string;
-
- if (!strcasecmp(function_name->value, "LINT_TO_LWORD"))
- return function_lint_to_lword;
-
- if (!strcasecmp(function_name->value, "LINT_TO_UINT"))
- return function_lint_to_uint;
-
- if (!strcasecmp(function_name->value, "LINT_TO_LREAL"))
- return function_lint_to_lreal;
-
- if (!strcasecmp(function_name->value, "LINT_TO_BYTE"))
- return function_lint_to_byte;
-
- if (!strcasecmp(function_name->value, "LINT_TO_USINT"))
- return function_lint_to_usint;
-
- if (!strcasecmp(function_name->value, "LINT_TO_ULINT"))
- return function_lint_to_ulint;
-
- if (!strcasecmp(function_name->value, "LINT_TO_BOOL"))
- return function_lint_to_bool;
-
- if (!strcasecmp(function_name->value, "LINT_TO_TIME"))
- return function_lint_to_time;
-
- if (!strcasecmp(function_name->value, "LINT_TO_INT"))
- return function_lint_to_int;
-
- if (!strcasecmp(function_name->value, "DINT_TO_REAL"))
- return function_dint_to_real;
-
- if (!strcasecmp(function_name->value, "DINT_TO_SINT"))
- return function_dint_to_sint;
-
- if (!strcasecmp(function_name->value, "DINT_TO_LINT"))
- return function_dint_to_lint;
-
- if (!strcasecmp(function_name->value, "DINT_TO_DINT"))
- return function_dint_to_dint;
-
- if (!strcasecmp(function_name->value, "DINT_TO_DATE"))
- return function_dint_to_date;
-
- if (!strcasecmp(function_name->value, "DINT_TO_DWORD"))
- return function_dint_to_dword;
-
- if (!strcasecmp(function_name->value, "DINT_TO_DT"))
- return function_dint_to_dt;
-
- if (!strcasecmp(function_name->value, "DINT_TO_TOD"))
- return function_dint_to_tod;
-
- if (!strcasecmp(function_name->value, "DINT_TO_UDINT"))
- return function_dint_to_udint;
-
- if (!strcasecmp(function_name->value, "DINT_TO_WORD"))
- return function_dint_to_word;
-
- if (!strcasecmp(function_name->value, "DINT_TO_WSTRING"))
- return function_dint_to_wstring;
-
- if (!strcasecmp(function_name->value, "DINT_TO_STRING"))
- return function_dint_to_string;
-
- if (!strcasecmp(function_name->value, "DINT_TO_LWORD"))
- return function_dint_to_lword;
-
- if (!strcasecmp(function_name->value, "DINT_TO_UINT"))
- return function_dint_to_uint;
-
- if (!strcasecmp(function_name->value, "DINT_TO_LREAL"))
- return function_dint_to_lreal;
-
- if (!strcasecmp(function_name->value, "DINT_TO_BYTE"))
- return function_dint_to_byte;
-
- if (!strcasecmp(function_name->value, "DINT_TO_USINT"))
- return function_dint_to_usint;
-
- if (!strcasecmp(function_name->value, "DINT_TO_ULINT"))
- return function_dint_to_ulint;
-
- if (!strcasecmp(function_name->value, "DINT_TO_BOOL"))
- return function_dint_to_bool;
-
- if (!strcasecmp(function_name->value, "DINT_TO_TIME"))
- return function_dint_to_time;
-
- if (!strcasecmp(function_name->value, "DINT_TO_INT"))
- return function_dint_to_int;
-
- if (!strcasecmp(function_name->value, "DATE_TO_REAL"))
- return function_date_to_real;
-
- if (!strcasecmp(function_name->value, "DATE_TO_SINT"))
- return function_date_to_sint;
-
- if (!strcasecmp(function_name->value, "DATE_TO_LINT"))
- return function_date_to_lint;
-
- if (!strcasecmp(function_name->value, "DATE_TO_DINT"))
- return function_date_to_dint;
-
- if (!strcasecmp(function_name->value, "DATE_TO_DATE"))
- return function_date_to_date;
-
- if (!strcasecmp(function_name->value, "DATE_TO_DWORD"))
- return function_date_to_dword;
-
- if (!strcasecmp(function_name->value, "DATE_TO_DT"))
- return function_date_to_dt;
-
- if (!strcasecmp(function_name->value, "DATE_TO_TOD"))
- return function_date_to_tod;
-
- if (!strcasecmp(function_name->value, "DATE_TO_UDINT"))
- return function_date_to_udint;
-
- if (!strcasecmp(function_name->value, "DATE_TO_WORD"))
- return function_date_to_word;
-
- if (!strcasecmp(function_name->value, "DATE_TO_WSTRING"))
- return function_date_to_wstring;
-
- if (!strcasecmp(function_name->value, "DATE_TO_STRING"))
- return function_date_to_string;
-
- if (!strcasecmp(function_name->value, "DATE_TO_LWORD"))
- return function_date_to_lword;
-
- if (!strcasecmp(function_name->value, "DATE_TO_UINT"))
- return function_date_to_uint;
-
- if (!strcasecmp(function_name->value, "DATE_TO_LREAL"))
- return function_date_to_lreal;
-
- if (!strcasecmp(function_name->value, "DATE_TO_BYTE"))
- return function_date_to_byte;
-
- if (!strcasecmp(function_name->value, "DATE_TO_USINT"))
- return function_date_to_usint;
-
- if (!strcasecmp(function_name->value, "DATE_TO_ULINT"))
- return function_date_to_ulint;
-
- if (!strcasecmp(function_name->value, "DATE_TO_BOOL"))
- return function_date_to_bool;
-
- if (!strcasecmp(function_name->value, "DATE_TO_TIME"))
- return function_date_to_time;
-
- if (!strcasecmp(function_name->value, "DATE_TO_INT"))
- return function_date_to_int;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_REAL"))
- return function_dword_to_real;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_SINT"))
- return function_dword_to_sint;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_LINT"))
- return function_dword_to_lint;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_DINT"))
- return function_dword_to_dint;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_DATE"))
- return function_dword_to_date;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_DWORD"))
- return function_dword_to_dword;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_DT"))
- return function_dword_to_dt;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_TOD"))
- return function_dword_to_tod;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_UDINT"))
- return function_dword_to_udint;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_WORD"))
- return function_dword_to_word;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_WSTRING"))
- return function_dword_to_wstring;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_STRING"))
- return function_dword_to_string;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_LWORD"))
- return function_dword_to_lword;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_UINT"))
- return function_dword_to_uint;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_LREAL"))
- return function_dword_to_lreal;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_BYTE"))
- return function_dword_to_byte;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_USINT"))
- return function_dword_to_usint;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_ULINT"))
- return function_dword_to_ulint;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_BOOL"))
- return function_dword_to_bool;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_TIME"))
- return function_dword_to_time;
-
- if (!strcasecmp(function_name->value, "DWORD_TO_INT"))
- return function_dword_to_int;
-
- if (!strcasecmp(function_name->value, "DT_TO_REAL"))
- return function_dt_to_real;
-
- if (!strcasecmp(function_name->value, "DT_TO_SINT"))
- return function_dt_to_sint;
-
- if (!strcasecmp(function_name->value, "DT_TO_LINT"))
- return function_dt_to_lint;
-
- if (!strcasecmp(function_name->value, "DT_TO_DINT"))
- return function_dt_to_dint;
-
- if (!strcasecmp(function_name->value, "DT_TO_DATE"))
- return function_dt_to_date;
-
- if (!strcasecmp(function_name->value, "DT_TO_DWORD"))
- return function_dt_to_dword;
-
- if (!strcasecmp(function_name->value, "DT_TO_DT"))
- return function_dt_to_dt;
-
- if (!strcasecmp(function_name->value, "DT_TO_TOD"))
- return function_dt_to_tod;
-
- if (!strcasecmp(function_name->value, "DT_TO_UDINT"))
- return function_dt_to_udint;
-
- if (!strcasecmp(function_name->value, "DT_TO_WORD"))
- return function_dt_to_word;
-
- if (!strcasecmp(function_name->value, "DT_TO_WSTRING"))
- return function_dt_to_wstring;
-
- if (!strcasecmp(function_name->value, "DT_TO_STRING"))
- return function_dt_to_string;
-
- if (!strcasecmp(function_name->value, "DT_TO_LWORD"))
- return function_dt_to_lword;
-
- if (!strcasecmp(function_name->value, "DT_TO_UINT"))
- return function_dt_to_uint;
-
- if (!strcasecmp(function_name->value, "DT_TO_LREAL"))
- return function_dt_to_lreal;
-
- if (!strcasecmp(function_name->value, "DT_TO_BYTE"))
- return function_dt_to_byte;
-
- if (!strcasecmp(function_name->value, "DT_TO_USINT"))
- return function_dt_to_usint;
-
- if (!strcasecmp(function_name->value, "DT_TO_ULINT"))
- return function_dt_to_ulint;
-
- if (!strcasecmp(function_name->value, "DT_TO_BOOL"))
- return function_dt_to_bool;
-
- if (!strcasecmp(function_name->value, "DT_TO_TIME"))
- return function_dt_to_time;
-
- if (!strcasecmp(function_name->value, "DT_TO_INT"))
- return function_dt_to_int;
-
- if (!strcasecmp(function_name->value, "TOD_TO_REAL"))
- return function_tod_to_real;
-
- if (!strcasecmp(function_name->value, "TOD_TO_SINT"))
- return function_tod_to_sint;
-
- if (!strcasecmp(function_name->value, "TOD_TO_LINT"))
- return function_tod_to_lint;
-
- if (!strcasecmp(function_name->value, "TOD_TO_DINT"))
- return function_tod_to_dint;
-
- if (!strcasecmp(function_name->value, "TOD_TO_DATE"))
- return function_tod_to_date;
-
- if (!strcasecmp(function_name->value, "TOD_TO_DWORD"))
- return function_tod_to_dword;
-
- if (!strcasecmp(function_name->value, "TOD_TO_DT"))
- return function_tod_to_dt;
-
- if (!strcasecmp(function_name->value, "TOD_TO_TOD"))
- return function_tod_to_tod;
-
- if (!strcasecmp(function_name->value, "TOD_TO_UDINT"))
- return function_tod_to_udint;
-
- if (!strcasecmp(function_name->value, "TOD_TO_WORD"))
- return function_tod_to_word;
-
- if (!strcasecmp(function_name->value, "TOD_TO_WSTRING"))
- return function_tod_to_wstring;
-
- if (!strcasecmp(function_name->value, "TOD_TO_STRING"))
- return function_tod_to_string;
-
- if (!strcasecmp(function_name->value, "TOD_TO_LWORD"))
- return function_tod_to_lword;
-
- if (!strcasecmp(function_name->value, "TOD_TO_UINT"))
- return function_tod_to_uint;
-
- if (!strcasecmp(function_name->value, "TOD_TO_LREAL"))
- return function_tod_to_lreal;
-
- if (!strcasecmp(function_name->value, "TOD_TO_BYTE"))
- return function_tod_to_byte;
-
- if (!strcasecmp(function_name->value, "TOD_TO_USINT"))
- return function_tod_to_usint;
-
- if (!strcasecmp(function_name->value, "TOD_TO_ULINT"))
- return function_tod_to_ulint;
-
- if (!strcasecmp(function_name->value, "TOD_TO_BOOL"))
- return function_tod_to_bool;
-
- if (!strcasecmp(function_name->value, "TOD_TO_TIME"))
- return function_tod_to_time;
-
- if (!strcasecmp(function_name->value, "TOD_TO_INT"))
- return function_tod_to_int;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_REAL"))
- return function_udint_to_real;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_SINT"))
- return function_udint_to_sint;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_LINT"))
- return function_udint_to_lint;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_DINT"))
- return function_udint_to_dint;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_DATE"))
- return function_udint_to_date;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_DWORD"))
- return function_udint_to_dword;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_DT"))
- return function_udint_to_dt;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_TOD"))
- return function_udint_to_tod;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_UDINT"))
- return function_udint_to_udint;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_WORD"))
- return function_udint_to_word;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_WSTRING"))
- return function_udint_to_wstring;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_STRING"))
- return function_udint_to_string;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_LWORD"))
- return function_udint_to_lword;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_UINT"))
- return function_udint_to_uint;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_LREAL"))
- return function_udint_to_lreal;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_BYTE"))
- return function_udint_to_byte;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_USINT"))
- return function_udint_to_usint;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_ULINT"))
- return function_udint_to_ulint;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_BOOL"))
- return function_udint_to_bool;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_TIME"))
- return function_udint_to_time;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_INT"))
- return function_udint_to_int;
-
- if (!strcasecmp(function_name->value, "WORD_TO_REAL"))
- return function_word_to_real;
-
- if (!strcasecmp(function_name->value, "WORD_TO_SINT"))
- return function_word_to_sint;
-
- if (!strcasecmp(function_name->value, "WORD_TO_LINT"))
- return function_word_to_lint;
-
- if (!strcasecmp(function_name->value, "WORD_TO_DINT"))
- return function_word_to_dint;
-
- if (!strcasecmp(function_name->value, "WORD_TO_DATE"))
- return function_word_to_date;
-
- if (!strcasecmp(function_name->value, "WORD_TO_DWORD"))
- return function_word_to_dword;
-
- if (!strcasecmp(function_name->value, "WORD_TO_DT"))
- return function_word_to_dt;
-
- if (!strcasecmp(function_name->value, "WORD_TO_TOD"))
- return function_word_to_tod;
-
- if (!strcasecmp(function_name->value, "WORD_TO_UDINT"))
- return function_word_to_udint;
-
- if (!strcasecmp(function_name->value, "WORD_TO_WORD"))
- return function_word_to_word;
-
- if (!strcasecmp(function_name->value, "WORD_TO_WSTRING"))
- return function_word_to_wstring;
-
- if (!strcasecmp(function_name->value, "WORD_TO_STRING"))
- return function_word_to_string;
-
- if (!strcasecmp(function_name->value, "WORD_TO_LWORD"))
- return function_word_to_lword;
-
- if (!strcasecmp(function_name->value, "WORD_TO_UINT"))
- return function_word_to_uint;
-
- if (!strcasecmp(function_name->value, "WORD_TO_LREAL"))
- return function_word_to_lreal;
-
- if (!strcasecmp(function_name->value, "WORD_TO_BYTE"))
- return function_word_to_byte;
-
- if (!strcasecmp(function_name->value, "WORD_TO_USINT"))
- return function_word_to_usint;
-
- if (!strcasecmp(function_name->value, "WORD_TO_ULINT"))
- return function_word_to_ulint;
-
- if (!strcasecmp(function_name->value, "WORD_TO_BOOL"))
- return function_word_to_bool;
-
- if (!strcasecmp(function_name->value, "WORD_TO_TIME"))
- return function_word_to_time;
-
- if (!strcasecmp(function_name->value, "WORD_TO_INT"))
- return function_word_to_int;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_REAL"))
- return function_wstring_to_real;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_SINT"))
- return function_wstring_to_sint;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_LINT"))
- return function_wstring_to_lint;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_DINT"))
- return function_wstring_to_dint;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_DATE"))
- return function_wstring_to_date;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_DWORD"))
- return function_wstring_to_dword;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_DT"))
- return function_wstring_to_dt;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_TOD"))
- return function_wstring_to_tod;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_UDINT"))
- return function_wstring_to_udint;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_WORD"))
- return function_wstring_to_word;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_WSTRING"))
- return function_wstring_to_wstring;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_STRING"))
- return function_wstring_to_string;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_LWORD"))
- return function_wstring_to_lword;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_UINT"))
- return function_wstring_to_uint;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_LREAL"))
- return function_wstring_to_lreal;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_BYTE"))
- return function_wstring_to_byte;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_USINT"))
- return function_wstring_to_usint;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_ULINT"))
- return function_wstring_to_ulint;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_BOOL"))
- return function_wstring_to_bool;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_TIME"))
- return function_wstring_to_time;
-
- if (!strcasecmp(function_name->value, "WSTRING_TO_INT"))
- return function_wstring_to_int;
-
- if (!strcasecmp(function_name->value, "STRING_TO_REAL"))
- return function_string_to_real;
-
- if (!strcasecmp(function_name->value, "STRING_TO_SINT"))
- return function_string_to_sint;
-
- if (!strcasecmp(function_name->value, "STRING_TO_LINT"))
- return function_string_to_lint;
-
- if (!strcasecmp(function_name->value, "STRING_TO_DINT"))
- return function_string_to_dint;
-
- if (!strcasecmp(function_name->value, "STRING_TO_DATE"))
- return function_string_to_date;
-
- if (!strcasecmp(function_name->value, "STRING_TO_DWORD"))
- return function_string_to_dword;
-
- if (!strcasecmp(function_name->value, "STRING_TO_DT"))
- return function_string_to_dt;
-
- if (!strcasecmp(function_name->value, "STRING_TO_TOD"))
- return function_string_to_tod;
-
- if (!strcasecmp(function_name->value, "STRING_TO_UDINT"))
- return function_string_to_udint;
-
- if (!strcasecmp(function_name->value, "STRING_TO_WORD"))
- return function_string_to_word;
-
- if (!strcasecmp(function_name->value, "STRING_TO_WSTRING"))
- return function_string_to_wstring;
-
- if (!strcasecmp(function_name->value, "STRING_TO_STRING"))
- return function_string_to_string;
-
- if (!strcasecmp(function_name->value, "STRING_TO_LWORD"))
- return function_string_to_lword;
-
- if (!strcasecmp(function_name->value, "STRING_TO_UINT"))
- return function_string_to_uint;
-
- if (!strcasecmp(function_name->value, "STRING_TO_LREAL"))
- return function_string_to_lreal;
-
- if (!strcasecmp(function_name->value, "STRING_TO_BYTE"))
- return function_string_to_byte;
-
- if (!strcasecmp(function_name->value, "STRING_TO_USINT"))
- return function_string_to_usint;
-
- if (!strcasecmp(function_name->value, "STRING_TO_ULINT"))
- return function_string_to_ulint;
-
- if (!strcasecmp(function_name->value, "STRING_TO_BOOL"))
- return function_string_to_bool;
-
- if (!strcasecmp(function_name->value, "STRING_TO_TIME"))
- return function_string_to_time;
-
- if (!strcasecmp(function_name->value, "STRING_TO_INT"))
- return function_string_to_int;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_REAL"))
- return function_lword_to_real;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_SINT"))
- return function_lword_to_sint;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_LINT"))
- return function_lword_to_lint;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_DINT"))
- return function_lword_to_dint;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_DATE"))
- return function_lword_to_date;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_DWORD"))
- return function_lword_to_dword;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_DT"))
- return function_lword_to_dt;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_TOD"))
- return function_lword_to_tod;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_UDINT"))
- return function_lword_to_udint;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_WORD"))
- return function_lword_to_word;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_WSTRING"))
- return function_lword_to_wstring;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_STRING"))
- return function_lword_to_string;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_LWORD"))
- return function_lword_to_lword;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_UINT"))
- return function_lword_to_uint;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_LREAL"))
- return function_lword_to_lreal;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_BYTE"))
- return function_lword_to_byte;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_USINT"))
- return function_lword_to_usint;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_ULINT"))
- return function_lword_to_ulint;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_BOOL"))
- return function_lword_to_bool;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_TIME"))
- return function_lword_to_time;
-
- if (!strcasecmp(function_name->value, "LWORD_TO_INT"))
- return function_lword_to_int;
-
- if (!strcasecmp(function_name->value, "UINT_TO_REAL"))
- return function_uint_to_real;
-
- if (!strcasecmp(function_name->value, "UINT_TO_SINT"))
- return function_uint_to_sint;
-
- if (!strcasecmp(function_name->value, "UINT_TO_LINT"))
- return function_uint_to_lint;
-
- if (!strcasecmp(function_name->value, "UINT_TO_DINT"))
- return function_uint_to_dint;
-
- if (!strcasecmp(function_name->value, "UINT_TO_DATE"))
- return function_uint_to_date;
-
- if (!strcasecmp(function_name->value, "UINT_TO_DWORD"))
- return function_uint_to_dword;
-
- if (!strcasecmp(function_name->value, "UINT_TO_DT"))
- return function_uint_to_dt;
-
- if (!strcasecmp(function_name->value, "UINT_TO_TOD"))
- return function_uint_to_tod;
-
- if (!strcasecmp(function_name->value, "UINT_TO_UDINT"))
- return function_uint_to_udint;
-
- if (!strcasecmp(function_name->value, "UINT_TO_WORD"))
- return function_uint_to_word;
-
- if (!strcasecmp(function_name->value, "UINT_TO_WSTRING"))
- return function_uint_to_wstring;
-
- if (!strcasecmp(function_name->value, "UINT_TO_STRING"))
- return function_uint_to_string;
-
- if (!strcasecmp(function_name->value, "UINT_TO_LWORD"))
- return function_uint_to_lword;
-
- if (!strcasecmp(function_name->value, "UINT_TO_UINT"))
- return function_uint_to_uint;
-
- if (!strcasecmp(function_name->value, "UINT_TO_LREAL"))
- return function_uint_to_lreal;
-
- if (!strcasecmp(function_name->value, "UINT_TO_BYTE"))
- return function_uint_to_byte;
-
- if (!strcasecmp(function_name->value, "UINT_TO_USINT"))
- return function_uint_to_usint;
-
- if (!strcasecmp(function_name->value, "UINT_TO_ULINT"))
- return function_uint_to_ulint;
-
- if (!strcasecmp(function_name->value, "UINT_TO_BOOL"))
- return function_uint_to_bool;
-
- if (!strcasecmp(function_name->value, "UINT_TO_TIME"))
- return function_uint_to_time;
-
- if (!strcasecmp(function_name->value, "UINT_TO_INT"))
- return function_uint_to_int;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_REAL"))
- return function_lreal_to_real;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_SINT"))
- return function_lreal_to_sint;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_LINT"))
- return function_lreal_to_lint;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_DINT"))
- return function_lreal_to_dint;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_DATE"))
- return function_lreal_to_date;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_DWORD"))
- return function_lreal_to_dword;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_DT"))
- return function_lreal_to_dt;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_TOD"))
- return function_lreal_to_tod;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_UDINT"))
- return function_lreal_to_udint;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_WORD"))
- return function_lreal_to_word;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_WSTRING"))
- return function_lreal_to_wstring;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_STRING"))
- return function_lreal_to_string;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_LWORD"))
- return function_lreal_to_lword;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_UINT"))
- return function_lreal_to_uint;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_LREAL"))
- return function_lreal_to_lreal;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_BYTE"))
- return function_lreal_to_byte;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_USINT"))
- return function_lreal_to_usint;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_ULINT"))
- return function_lreal_to_ulint;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_BOOL"))
- return function_lreal_to_bool;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_TIME"))
- return function_lreal_to_time;
-
- if (!strcasecmp(function_name->value, "LREAL_TO_INT"))
- return function_lreal_to_int;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_REAL"))
- return function_byte_to_real;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_SINT"))
- return function_byte_to_sint;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_LINT"))
- return function_byte_to_lint;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_DINT"))
- return function_byte_to_dint;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_DATE"))
- return function_byte_to_date;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_DWORD"))
- return function_byte_to_dword;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_DT"))
- return function_byte_to_dt;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_TOD"))
- return function_byte_to_tod;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_UDINT"))
- return function_byte_to_udint;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_WORD"))
- return function_byte_to_word;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_WSTRING"))
- return function_byte_to_wstring;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_STRING"))
- return function_byte_to_string;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_LWORD"))
- return function_byte_to_lword;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_UINT"))
- return function_byte_to_uint;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_LREAL"))
- return function_byte_to_lreal;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_BYTE"))
- return function_byte_to_byte;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_USINT"))
- return function_byte_to_usint;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_ULINT"))
- return function_byte_to_ulint;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_BOOL"))
- return function_byte_to_bool;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_TIME"))
- return function_byte_to_time;
-
- if (!strcasecmp(function_name->value, "BYTE_TO_INT"))
- return function_byte_to_int;
-
- if (!strcasecmp(function_name->value, "USINT_TO_REAL"))
- return function_usint_to_real;
-
- if (!strcasecmp(function_name->value, "USINT_TO_SINT"))
- return function_usint_to_sint;
-
- if (!strcasecmp(function_name->value, "USINT_TO_LINT"))
- return function_usint_to_lint;
-
- if (!strcasecmp(function_name->value, "USINT_TO_DINT"))
- return function_usint_to_dint;
-
- if (!strcasecmp(function_name->value, "USINT_TO_DATE"))
- return function_usint_to_date;
-
- if (!strcasecmp(function_name->value, "USINT_TO_DWORD"))
- return function_usint_to_dword;
-
- if (!strcasecmp(function_name->value, "USINT_TO_DT"))
- return function_usint_to_dt;
-
- if (!strcasecmp(function_name->value, "USINT_TO_TOD"))
- return function_usint_to_tod;
-
- if (!strcasecmp(function_name->value, "USINT_TO_UDINT"))
- return function_usint_to_udint;
-
- if (!strcasecmp(function_name->value, "USINT_TO_WORD"))
- return function_usint_to_word;
-
- if (!strcasecmp(function_name->value, "USINT_TO_WSTRING"))
- return function_usint_to_wstring;
-
- if (!strcasecmp(function_name->value, "USINT_TO_STRING"))
- return function_usint_to_string;
-
- if (!strcasecmp(function_name->value, "USINT_TO_LWORD"))
- return function_usint_to_lword;
-
- if (!strcasecmp(function_name->value, "USINT_TO_UINT"))
- return function_usint_to_uint;
-
- if (!strcasecmp(function_name->value, "USINT_TO_LREAL"))
- return function_usint_to_lreal;
-
- if (!strcasecmp(function_name->value, "USINT_TO_BYTE"))
- return function_usint_to_byte;
-
- if (!strcasecmp(function_name->value, "USINT_TO_USINT"))
- return function_usint_to_usint;
-
- if (!strcasecmp(function_name->value, "USINT_TO_ULINT"))
- return function_usint_to_ulint;
-
- if (!strcasecmp(function_name->value, "USINT_TO_BOOL"))
- return function_usint_to_bool;
-
- if (!strcasecmp(function_name->value, "USINT_TO_TIME"))
- return function_usint_to_time;
-
- if (!strcasecmp(function_name->value, "USINT_TO_INT"))
- return function_usint_to_int;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_REAL"))
- return function_ulint_to_real;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_SINT"))
- return function_ulint_to_sint;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_LINT"))
- return function_ulint_to_lint;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_DINT"))
- return function_ulint_to_dint;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_DATE"))
- return function_ulint_to_date;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_DWORD"))
- return function_ulint_to_dword;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_DT"))
- return function_ulint_to_dt;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_TOD"))
- return function_ulint_to_tod;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_UDINT"))
- return function_ulint_to_udint;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_WORD"))
- return function_ulint_to_word;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_WSTRING"))
- return function_ulint_to_wstring;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_STRING"))
- return function_ulint_to_string;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_LWORD"))
- return function_ulint_to_lword;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_UINT"))
- return function_ulint_to_uint;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_LREAL"))
- return function_ulint_to_lreal;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_BYTE"))
- return function_ulint_to_byte;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_USINT"))
- return function_ulint_to_usint;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_ULINT"))
- return function_ulint_to_ulint;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_BOOL"))
- return function_ulint_to_bool;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_TIME"))
- return function_ulint_to_time;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_INT"))
- return function_ulint_to_int;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_REAL"))
- return function_bool_to_real;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_SINT"))
- return function_bool_to_sint;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_LINT"))
- return function_bool_to_lint;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_DINT"))
- return function_bool_to_dint;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_DATE"))
- return function_bool_to_date;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_DWORD"))
- return function_bool_to_dword;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_DT"))
- return function_bool_to_dt;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_TOD"))
- return function_bool_to_tod;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_UDINT"))
- return function_bool_to_udint;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_WORD"))
- return function_bool_to_word;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_WSTRING"))
- return function_bool_to_wstring;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_STRING"))
- return function_bool_to_string;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_LWORD"))
- return function_bool_to_lword;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_UINT"))
- return function_bool_to_uint;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_LREAL"))
- return function_bool_to_lreal;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_BYTE"))
- return function_bool_to_byte;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_USINT"))
- return function_bool_to_usint;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_ULINT"))
- return function_bool_to_ulint;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_BOOL"))
- return function_bool_to_bool;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_TIME"))
- return function_bool_to_time;
-
- if (!strcasecmp(function_name->value, "BOOL_TO_INT"))
- return function_bool_to_int;
-
- if (!strcasecmp(function_name->value, "TIME_TO_REAL"))
- return function_time_to_real;
-
- if (!strcasecmp(function_name->value, "TIME_TO_SINT"))
- return function_time_to_sint;
-
- if (!strcasecmp(function_name->value, "TIME_TO_LINT"))
- return function_time_to_lint;
-
- if (!strcasecmp(function_name->value, "TIME_TO_DINT"))
- return function_time_to_dint;
-
- if (!strcasecmp(function_name->value, "TIME_TO_DATE"))
- return function_time_to_date;
-
- if (!strcasecmp(function_name->value, "TIME_TO_DWORD"))
- return function_time_to_dword;
-
- if (!strcasecmp(function_name->value, "TIME_TO_DT"))
- return function_time_to_dt;
-
- if (!strcasecmp(function_name->value, "TIME_TO_TOD"))
- return function_time_to_tod;
-
- if (!strcasecmp(function_name->value, "TIME_TO_UDINT"))
- return function_time_to_udint;
-
- if (!strcasecmp(function_name->value, "TIME_TO_WORD"))
- return function_time_to_word;
-
- if (!strcasecmp(function_name->value, "TIME_TO_WSTRING"))
- return function_time_to_wstring;
-
- if (!strcasecmp(function_name->value, "TIME_TO_STRING"))
- return function_time_to_string;
-
- if (!strcasecmp(function_name->value, "TIME_TO_LWORD"))
- return function_time_to_lword;
-
- if (!strcasecmp(function_name->value, "TIME_TO_UINT"))
- return function_time_to_uint;
-
- if (!strcasecmp(function_name->value, "TIME_TO_LREAL"))
- return function_time_to_lreal;
-
- if (!strcasecmp(function_name->value, "TIME_TO_BYTE"))
- return function_time_to_byte;
-
- if (!strcasecmp(function_name->value, "TIME_TO_USINT"))
- return function_time_to_usint;
-
- if (!strcasecmp(function_name->value, "TIME_TO_ULINT"))
- return function_time_to_ulint;
-
- if (!strcasecmp(function_name->value, "TIME_TO_BOOL"))
- return function_time_to_bool;
-
- if (!strcasecmp(function_name->value, "TIME_TO_TIME"))
- return function_time_to_time;
-
- if (!strcasecmp(function_name->value, "TIME_TO_INT"))
- return function_time_to_int;
-
- if (!strcasecmp(function_name->value, "INT_TO_REAL"))
- return function_int_to_real;
-
- if (!strcasecmp(function_name->value, "INT_TO_SINT"))
- return function_int_to_sint;
-
- if (!strcasecmp(function_name->value, "INT_TO_LINT"))
- return function_int_to_lint;
-
- if (!strcasecmp(function_name->value, "INT_TO_DINT"))
- return function_int_to_dint;
-
- if (!strcasecmp(function_name->value, "INT_TO_DATE"))
- return function_int_to_date;
-
- if (!strcasecmp(function_name->value, "INT_TO_DWORD"))
- return function_int_to_dword;
-
- if (!strcasecmp(function_name->value, "INT_TO_DT"))
- return function_int_to_dt;
-
- if (!strcasecmp(function_name->value, "INT_TO_TOD"))
- return function_int_to_tod;
-
- if (!strcasecmp(function_name->value, "INT_TO_UDINT"))
- return function_int_to_udint;
-
- if (!strcasecmp(function_name->value, "INT_TO_WORD"))
- return function_int_to_word;
-
- if (!strcasecmp(function_name->value, "INT_TO_WSTRING"))
- return function_int_to_wstring;
-
- if (!strcasecmp(function_name->value, "INT_TO_STRING"))
- return function_int_to_string;
-
- if (!strcasecmp(function_name->value, "INT_TO_LWORD"))
- return function_int_to_lword;
-
- if (!strcasecmp(function_name->value, "INT_TO_UINT"))
- return function_int_to_uint;
-
- if (!strcasecmp(function_name->value, "INT_TO_LREAL"))
- return function_int_to_lreal;
-
- if (!strcasecmp(function_name->value, "INT_TO_BYTE"))
- return function_int_to_byte;
-
- if (!strcasecmp(function_name->value, "INT_TO_USINT"))
- return function_int_to_usint;
-
- if (!strcasecmp(function_name->value, "INT_TO_ULINT"))
- return function_int_to_ulint;
-
- if (!strcasecmp(function_name->value, "INT_TO_BOOL"))
- return function_int_to_bool;
-
- if (!strcasecmp(function_name->value, "INT_TO_TIME"))
- return function_int_to_time;
-
- if (!strcasecmp(function_name->value, "INT_TO_INT"))
- return function_int_to_int;
-
- if (!strcasecmp(function_name->value, "TRUNC"))
- return function_trunc;
-
- if (!strcasecmp(function_name->value, "BCD_TO_SINT"))
- return function_bcd_to_sint;
-
- if (!strcasecmp(function_name->value, "BCD_TO_LINT"))
- return function_bcd_to_lint;
-
- if (!strcasecmp(function_name->value, "BCD_TO_DINT"))
- return function_bcd_to_dint;
-
- if (!strcasecmp(function_name->value, "BCD_TO_UDINT"))
- return function_bcd_to_udint;
-
- if (!strcasecmp(function_name->value, "BCD_TO_UINT"))
- return function_bcd_to_uint;
-
- if (!strcasecmp(function_name->value, "BCD_TO_USINT"))
- return function_bcd_to_usint;
-
- if (!strcasecmp(function_name->value, "BCD_TO_ULINT"))
- return function_bcd_to_ulint;
-
- if (!strcasecmp(function_name->value, "BCD_TO_INT"))
- return function_bcd_to_int;
-
- if (!strcasecmp(function_name->value, "SINT_TO_BCD"))
- return function_sint_to_bcd;
-
- if (!strcasecmp(function_name->value, "LINT_TO_BCD"))
- return function_lint_to_bcd;
-
- if (!strcasecmp(function_name->value, "DINT_TO_BCD"))
- return function_dint_to_bcd;
-
- if (!strcasecmp(function_name->value, "UDINT_TO_BCD"))
- return function_udint_to_bcd;
-
- if (!strcasecmp(function_name->value, "UINT_TO_BCD"))
- return function_uint_to_bcd;
-
- if (!strcasecmp(function_name->value, "USINT_TO_BCD"))
- return function_usint_to_bcd;
-
- if (!strcasecmp(function_name->value, "ULINT_TO_BCD"))
- return function_ulint_to_bcd;
-
- if (!strcasecmp(function_name->value, "INT_TO_BCD"))
- return function_int_to_bcd;
-
- if (!strcasecmp(function_name->value, "DATE_AND_TIME_TO_TIME_OF_DAY"))
- return function_date_and_time_to_time_of_day;
-
- if (!strcasecmp(function_name->value, "DATE_AND_TIME_TO_DATE"))
- return function_date_and_time_to_date;
-
- if (!strcasecmp(function_name->value, "ABS"))
- return function_abs;
-
- if (!strcasecmp(function_name->value, "SQRT"))
- return function_sqrt;
-
- if (!strcasecmp(function_name->value, "LN"))
- return function_ln;
-
- if (!strcasecmp(function_name->value, "LOG"))
- return function_log;
-
- if (!strcasecmp(function_name->value, "EXP"))
- return function_exp;
-
- if (!strcasecmp(function_name->value, "SIN"))
- return function_sin;
-
- if (!strcasecmp(function_name->value, "COS"))
- return function_cos;
-
- if (!strcasecmp(function_name->value, "TAN"))
- return function_tan;
-
- if (!strcasecmp(function_name->value, "ASIN"))
- return function_asin;
-
- if (!strcasecmp(function_name->value, "ACOS"))
- return function_acos;
-
- if (!strcasecmp(function_name->value, "ATAN"))
- return function_atan;
-
- if (!strcasecmp(function_name->value, "ADD"))
- return function_add;
-
- if (!strcasecmp(function_name->value, "MUL"))
- return function_mul;
-
- if (!strcasecmp(function_name->value, "SUB"))
- return function_sub;
-
- if (!strcasecmp(function_name->value, "DIV"))
- return function_div;
-
- if (!strcasecmp(function_name->value, "MOD"))
- return function_mod;
-
- if (!strcasecmp(function_name->value, "EXPT"))
- return function_expt;
-
- if (!strcasecmp(function_name->value, "MOVE"))
- return function_move;
-
- if (!strcasecmp(function_name->value, "SHL"))
- return function_shl;
-
- if (!strcasecmp(function_name->value, "SHR"))
- return function_shr;
-
- if (!strcasecmp(function_name->value, "ROR"))
- return function_ror;
-
- if (!strcasecmp(function_name->value, "ROL"))
- return function_rol;
-
- if (!strcasecmp(function_name->value, "AND"))
- return function_and;
-
- if (!strcasecmp(function_name->value, "OR"))
- return function_or;
-
- if (!strcasecmp(function_name->value, "XOR"))
- return function_xor;
-
- if (!strcasecmp(function_name->value, "NOT"))
- return function_not;
-
- if (!strcasecmp(function_name->value, "SEL"))
- return function_sel;
-
- if (!strcasecmp(function_name->value, "MAX"))
- return function_max;
-
- if (!strcasecmp(function_name->value, "MIN"))
- return function_min;
-
- if (!strcasecmp(function_name->value, "LIMIT"))
- return function_limit;
-
- if (!strcasecmp(function_name->value, "MUX"))
- return function_mux;
-
- if (!strcasecmp(function_name->value, "GT"))
- return function_gt;
-
- if (!strcasecmp(function_name->value, "GE"))
- return function_ge;
-
- if (!strcasecmp(function_name->value, "EQ"))
- return function_eq;
-
- if (!strcasecmp(function_name->value, "LT"))
- return function_lt;
-
- if (!strcasecmp(function_name->value, "LE"))
- return function_le;
-
- if (!strcasecmp(function_name->value, "NE"))
- return function_ne;
-
- if (!strcasecmp(function_name->value, "LEN"))
- return function_len;
-
- if (!strcasecmp(function_name->value, "LEFT"))
- return function_left;
-
- if (!strcasecmp(function_name->value, "RIGHT"))
- return function_right;
-
- if (!strcasecmp(function_name->value, "MID"))
- return function_mid;
-
- if (!strcasecmp(function_name->value, "CONCAT"))
- return function_concat;
-
- if (!strcasecmp(function_name->value, "INSERT"))
- return function_insert;
-
- if (!strcasecmp(function_name->value, "DELETE"))
- return function_delete;
-
- if (!strcasecmp(function_name->value, "REPLACE"))
- return function_replace;
-
- if (!strcasecmp(function_name->value, "FIND"))
- return function_find;
-
- else return function_none;
+ if (!strcasecmp(function_name->value, "REAL_TO_LREAL"))
+ return function_real_to_lreal;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_SINT"))
+ return function_real_to_sint;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_INT"))
+ return function_real_to_int;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_DINT"))
+ return function_real_to_dint;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_LINT"))
+ return function_real_to_lint;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_USINT"))
+ return function_real_to_usint;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_UINT"))
+ return function_real_to_uint;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_UDINT"))
+ return function_real_to_udint;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_ULINT"))
+ return function_real_to_ulint;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_TIME"))
+ return function_real_to_time;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_BOOL"))
+ return function_real_to_bool;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_BYTE"))
+ return function_real_to_byte;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_WORD"))
+ return function_real_to_word;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_DWORD"))
+ return function_real_to_dword;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_LWORD"))
+ return function_real_to_lword;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_STRING"))
+ return function_real_to_string;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_WSTRING"))
+ return function_real_to_wstring;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_DATE"))
+ return function_real_to_date;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_TOD"))
+ return function_real_to_tod;
+
+ if (!strcasecmp(function_name->value, "REAL_TO_DT"))
+ return function_real_to_dt;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_REAL"))
+ return function_lreal_to_real;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_SINT"))
+ return function_lreal_to_sint;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_INT"))
+ return function_lreal_to_int;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_DINT"))
+ return function_lreal_to_dint;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_LINT"))
+ return function_lreal_to_lint;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_USINT"))
+ return function_lreal_to_usint;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_UINT"))
+ return function_lreal_to_uint;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_UDINT"))
+ return function_lreal_to_udint;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_ULINT"))
+ return function_lreal_to_ulint;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_TIME"))
+ return function_lreal_to_time;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_BOOL"))
+ return function_lreal_to_bool;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_BYTE"))
+ return function_lreal_to_byte;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_WORD"))
+ return function_lreal_to_word;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_DWORD"))
+ return function_lreal_to_dword;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_LWORD"))
+ return function_lreal_to_lword;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_STRING"))
+ return function_lreal_to_string;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_WSTRING"))
+ return function_lreal_to_wstring;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_DATE"))
+ return function_lreal_to_date;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_TOD"))
+ return function_lreal_to_tod;
+
+ if (!strcasecmp(function_name->value, "LREAL_TO_DT"))
+ return function_lreal_to_dt;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_REAL"))
+ return function_sint_to_real;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_LREAL"))
+ return function_sint_to_lreal;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_INT"))
+ return function_sint_to_int;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_DINT"))
+ return function_sint_to_dint;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_LINT"))
+ return function_sint_to_lint;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_USINT"))
+ return function_sint_to_usint;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_UINT"))
+ return function_sint_to_uint;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_UDINT"))
+ return function_sint_to_udint;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_ULINT"))
+ return function_sint_to_ulint;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_TIME"))
+ return function_sint_to_time;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_BOOL"))
+ return function_sint_to_bool;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_BYTE"))
+ return function_sint_to_byte;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_WORD"))
+ return function_sint_to_word;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_DWORD"))
+ return function_sint_to_dword;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_LWORD"))
+ return function_sint_to_lword;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_STRING"))
+ return function_sint_to_string;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_WSTRING"))
+ return function_sint_to_wstring;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_DATE"))
+ return function_sint_to_date;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_TOD"))
+ return function_sint_to_tod;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_DT"))
+ return function_sint_to_dt;
+
+ if (!strcasecmp(function_name->value, "INT_TO_REAL"))
+ return function_int_to_real;
+
+ if (!strcasecmp(function_name->value, "INT_TO_LREAL"))
+ return function_int_to_lreal;
+
+ if (!strcasecmp(function_name->value, "INT_TO_SINT"))
+ return function_int_to_sint;
+
+ if (!strcasecmp(function_name->value, "INT_TO_DINT"))
+ return function_int_to_dint;
+
+ if (!strcasecmp(function_name->value, "INT_TO_LINT"))
+ return function_int_to_lint;
+
+ if (!strcasecmp(function_name->value, "INT_TO_USINT"))
+ return function_int_to_usint;
+
+ if (!strcasecmp(function_name->value, "INT_TO_UINT"))
+ return function_int_to_uint;
+
+ if (!strcasecmp(function_name->value, "INT_TO_UDINT"))
+ return function_int_to_udint;
+
+ if (!strcasecmp(function_name->value, "INT_TO_ULINT"))
+ return function_int_to_ulint;
+
+ if (!strcasecmp(function_name->value, "INT_TO_TIME"))
+ return function_int_to_time;
+
+ if (!strcasecmp(function_name->value, "INT_TO_BOOL"))
+ return function_int_to_bool;
+
+ if (!strcasecmp(function_name->value, "INT_TO_BYTE"))
+ return function_int_to_byte;
+
+ if (!strcasecmp(function_name->value, "INT_TO_WORD"))
+ return function_int_to_word;
+
+ if (!strcasecmp(function_name->value, "INT_TO_DWORD"))
+ return function_int_to_dword;
+
+ if (!strcasecmp(function_name->value, "INT_TO_LWORD"))
+ return function_int_to_lword;
+
+ if (!strcasecmp(function_name->value, "INT_TO_STRING"))
+ return function_int_to_string;
+
+ if (!strcasecmp(function_name->value, "INT_TO_WSTRING"))
+ return function_int_to_wstring;
+
+ if (!strcasecmp(function_name->value, "INT_TO_DATE"))
+ return function_int_to_date;
+
+ if (!strcasecmp(function_name->value, "INT_TO_TOD"))
+ return function_int_to_tod;
+
+ if (!strcasecmp(function_name->value, "INT_TO_DT"))
+ return function_int_to_dt;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_REAL"))
+ return function_dint_to_real;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_LREAL"))
+ return function_dint_to_lreal;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_SINT"))
+ return function_dint_to_sint;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_INT"))
+ return function_dint_to_int;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_LINT"))
+ return function_dint_to_lint;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_USINT"))
+ return function_dint_to_usint;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_UINT"))
+ return function_dint_to_uint;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_UDINT"))
+ return function_dint_to_udint;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_ULINT"))
+ return function_dint_to_ulint;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_TIME"))
+ return function_dint_to_time;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_BOOL"))
+ return function_dint_to_bool;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_BYTE"))
+ return function_dint_to_byte;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_WORD"))
+ return function_dint_to_word;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_DWORD"))
+ return function_dint_to_dword;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_LWORD"))
+ return function_dint_to_lword;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_STRING"))
+ return function_dint_to_string;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_WSTRING"))
+ return function_dint_to_wstring;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_DATE"))
+ return function_dint_to_date;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_TOD"))
+ return function_dint_to_tod;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_DT"))
+ return function_dint_to_dt;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_REAL"))
+ return function_lint_to_real;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_LREAL"))
+ return function_lint_to_lreal;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_SINT"))
+ return function_lint_to_sint;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_INT"))
+ return function_lint_to_int;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_DINT"))
+ return function_lint_to_dint;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_USINT"))
+ return function_lint_to_usint;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_UINT"))
+ return function_lint_to_uint;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_UDINT"))
+ return function_lint_to_udint;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_ULINT"))
+ return function_lint_to_ulint;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_TIME"))
+ return function_lint_to_time;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_BOOL"))
+ return function_lint_to_bool;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_BYTE"))
+ return function_lint_to_byte;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_WORD"))
+ return function_lint_to_word;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_DWORD"))
+ return function_lint_to_dword;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_LWORD"))
+ return function_lint_to_lword;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_STRING"))
+ return function_lint_to_string;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_WSTRING"))
+ return function_lint_to_wstring;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_DATE"))
+ return function_lint_to_date;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_TOD"))
+ return function_lint_to_tod;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_DT"))
+ return function_lint_to_dt;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_REAL"))
+ return function_usint_to_real;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_LREAL"))
+ return function_usint_to_lreal;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_SINT"))
+ return function_usint_to_sint;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_INT"))
+ return function_usint_to_int;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_DINT"))
+ return function_usint_to_dint;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_LINT"))
+ return function_usint_to_lint;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_UINT"))
+ return function_usint_to_uint;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_UDINT"))
+ return function_usint_to_udint;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_ULINT"))
+ return function_usint_to_ulint;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_TIME"))
+ return function_usint_to_time;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_BOOL"))
+ return function_usint_to_bool;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_BYTE"))
+ return function_usint_to_byte;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_WORD"))
+ return function_usint_to_word;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_DWORD"))
+ return function_usint_to_dword;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_LWORD"))
+ return function_usint_to_lword;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_STRING"))
+ return function_usint_to_string;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_WSTRING"))
+ return function_usint_to_wstring;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_DATE"))
+ return function_usint_to_date;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_TOD"))
+ return function_usint_to_tod;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_DT"))
+ return function_usint_to_dt;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_REAL"))
+ return function_uint_to_real;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_LREAL"))
+ return function_uint_to_lreal;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_SINT"))
+ return function_uint_to_sint;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_INT"))
+ return function_uint_to_int;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_DINT"))
+ return function_uint_to_dint;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_LINT"))
+ return function_uint_to_lint;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_USINT"))
+ return function_uint_to_usint;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_UDINT"))
+ return function_uint_to_udint;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_ULINT"))
+ return function_uint_to_ulint;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_TIME"))
+ return function_uint_to_time;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_BOOL"))
+ return function_uint_to_bool;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_BYTE"))
+ return function_uint_to_byte;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_WORD"))
+ return function_uint_to_word;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_DWORD"))
+ return function_uint_to_dword;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_LWORD"))
+ return function_uint_to_lword;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_STRING"))
+ return function_uint_to_string;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_WSTRING"))
+ return function_uint_to_wstring;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_DATE"))
+ return function_uint_to_date;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_TOD"))
+ return function_uint_to_tod;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_DT"))
+ return function_uint_to_dt;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_REAL"))
+ return function_udint_to_real;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_LREAL"))
+ return function_udint_to_lreal;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_SINT"))
+ return function_udint_to_sint;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_INT"))
+ return function_udint_to_int;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_DINT"))
+ return function_udint_to_dint;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_LINT"))
+ return function_udint_to_lint;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_USINT"))
+ return function_udint_to_usint;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_UINT"))
+ return function_udint_to_uint;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_ULINT"))
+ return function_udint_to_ulint;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_TIME"))
+ return function_udint_to_time;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_BOOL"))
+ return function_udint_to_bool;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_BYTE"))
+ return function_udint_to_byte;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_WORD"))
+ return function_udint_to_word;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_DWORD"))
+ return function_udint_to_dword;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_LWORD"))
+ return function_udint_to_lword;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_STRING"))
+ return function_udint_to_string;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_WSTRING"))
+ return function_udint_to_wstring;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_DATE"))
+ return function_udint_to_date;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_TOD"))
+ return function_udint_to_tod;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_DT"))
+ return function_udint_to_dt;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_REAL"))
+ return function_ulint_to_real;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_LREAL"))
+ return function_ulint_to_lreal;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_SINT"))
+ return function_ulint_to_sint;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_INT"))
+ return function_ulint_to_int;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_DINT"))
+ return function_ulint_to_dint;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_LINT"))
+ return function_ulint_to_lint;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_USINT"))
+ return function_ulint_to_usint;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_UINT"))
+ return function_ulint_to_uint;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_UDINT"))
+ return function_ulint_to_udint;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_TIME"))
+ return function_ulint_to_time;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_BOOL"))
+ return function_ulint_to_bool;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_BYTE"))
+ return function_ulint_to_byte;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_WORD"))
+ return function_ulint_to_word;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_DWORD"))
+ return function_ulint_to_dword;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_LWORD"))
+ return function_ulint_to_lword;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_STRING"))
+ return function_ulint_to_string;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_WSTRING"))
+ return function_ulint_to_wstring;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_DATE"))
+ return function_ulint_to_date;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_TOD"))
+ return function_ulint_to_tod;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_DT"))
+ return function_ulint_to_dt;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_REAL"))
+ return function_time_to_real;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_LREAL"))
+ return function_time_to_lreal;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_SINT"))
+ return function_time_to_sint;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_INT"))
+ return function_time_to_int;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_DINT"))
+ return function_time_to_dint;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_LINT"))
+ return function_time_to_lint;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_USINT"))
+ return function_time_to_usint;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_UINT"))
+ return function_time_to_uint;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_UDINT"))
+ return function_time_to_udint;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_ULINT"))
+ return function_time_to_ulint;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_BOOL"))
+ return function_time_to_bool;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_BYTE"))
+ return function_time_to_byte;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_WORD"))
+ return function_time_to_word;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_DWORD"))
+ return function_time_to_dword;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_LWORD"))
+ return function_time_to_lword;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_STRING"))
+ return function_time_to_string;
+
+ if (!strcasecmp(function_name->value, "TIME_TO_WSTRING"))
+ return function_time_to_wstring;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_REAL"))
+ return function_bool_to_real;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_LREAL"))
+ return function_bool_to_lreal;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_SINT"))
+ return function_bool_to_sint;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_INT"))
+ return function_bool_to_int;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_DINT"))
+ return function_bool_to_dint;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_LINT"))
+ return function_bool_to_lint;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_USINT"))
+ return function_bool_to_usint;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_UINT"))
+ return function_bool_to_uint;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_UDINT"))
+ return function_bool_to_udint;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_ULINT"))
+ return function_bool_to_ulint;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_TIME"))
+ return function_bool_to_time;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_BYTE"))
+ return function_bool_to_byte;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_WORD"))
+ return function_bool_to_word;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_DWORD"))
+ return function_bool_to_dword;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_LWORD"))
+ return function_bool_to_lword;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_STRING"))
+ return function_bool_to_string;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_WSTRING"))
+ return function_bool_to_wstring;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_DATE"))
+ return function_bool_to_date;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_TOD"))
+ return function_bool_to_tod;
+
+ if (!strcasecmp(function_name->value, "BOOL_TO_DT"))
+ return function_bool_to_dt;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_REAL"))
+ return function_byte_to_real;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_LREAL"))
+ return function_byte_to_lreal;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_SINT"))
+ return function_byte_to_sint;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_INT"))
+ return function_byte_to_int;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_DINT"))
+ return function_byte_to_dint;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_LINT"))
+ return function_byte_to_lint;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_USINT"))
+ return function_byte_to_usint;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_UINT"))
+ return function_byte_to_uint;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_UDINT"))
+ return function_byte_to_udint;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_ULINT"))
+ return function_byte_to_ulint;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_TIME"))
+ return function_byte_to_time;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_BOOL"))
+ return function_byte_to_bool;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_WORD"))
+ return function_byte_to_word;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_DWORD"))
+ return function_byte_to_dword;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_LWORD"))
+ return function_byte_to_lword;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_STRING"))
+ return function_byte_to_string;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_WSTRING"))
+ return function_byte_to_wstring;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_DATE"))
+ return function_byte_to_date;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_TOD"))
+ return function_byte_to_tod;
+
+ if (!strcasecmp(function_name->value, "BYTE_TO_DT"))
+ return function_byte_to_dt;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_REAL"))
+ return function_word_to_real;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_LREAL"))
+ return function_word_to_lreal;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_SINT"))
+ return function_word_to_sint;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_INT"))
+ return function_word_to_int;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_DINT"))
+ return function_word_to_dint;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_LINT"))
+ return function_word_to_lint;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_USINT"))
+ return function_word_to_usint;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_UINT"))
+ return function_word_to_uint;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_UDINT"))
+ return function_word_to_udint;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_ULINT"))
+ return function_word_to_ulint;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_TIME"))
+ return function_word_to_time;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_BOOL"))
+ return function_word_to_bool;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_BYTE"))
+ return function_word_to_byte;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_DWORD"))
+ return function_word_to_dword;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_LWORD"))
+ return function_word_to_lword;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_STRING"))
+ return function_word_to_string;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_WSTRING"))
+ return function_word_to_wstring;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_DATE"))
+ return function_word_to_date;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_TOD"))
+ return function_word_to_tod;
+
+ if (!strcasecmp(function_name->value, "WORD_TO_DT"))
+ return function_word_to_dt;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_REAL"))
+ return function_dword_to_real;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_LREAL"))
+ return function_dword_to_lreal;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_SINT"))
+ return function_dword_to_sint;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_INT"))
+ return function_dword_to_int;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_DINT"))
+ return function_dword_to_dint;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_LINT"))
+ return function_dword_to_lint;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_USINT"))
+ return function_dword_to_usint;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_UINT"))
+ return function_dword_to_uint;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_UDINT"))
+ return function_dword_to_udint;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_ULINT"))
+ return function_dword_to_ulint;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_TIME"))
+ return function_dword_to_time;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_BOOL"))
+ return function_dword_to_bool;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_BYTE"))
+ return function_dword_to_byte;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_WORD"))
+ return function_dword_to_word;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_LWORD"))
+ return function_dword_to_lword;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_STRING"))
+ return function_dword_to_string;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_WSTRING"))
+ return function_dword_to_wstring;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_DATE"))
+ return function_dword_to_date;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_TOD"))
+ return function_dword_to_tod;
+
+ if (!strcasecmp(function_name->value, "DWORD_TO_DT"))
+ return function_dword_to_dt;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_REAL"))
+ return function_lword_to_real;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_LREAL"))
+ return function_lword_to_lreal;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_SINT"))
+ return function_lword_to_sint;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_INT"))
+ return function_lword_to_int;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_DINT"))
+ return function_lword_to_dint;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_LINT"))
+ return function_lword_to_lint;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_USINT"))
+ return function_lword_to_usint;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_UINT"))
+ return function_lword_to_uint;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_UDINT"))
+ return function_lword_to_udint;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_ULINT"))
+ return function_lword_to_ulint;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_TIME"))
+ return function_lword_to_time;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_BOOL"))
+ return function_lword_to_bool;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_BYTE"))
+ return function_lword_to_byte;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_WORD"))
+ return function_lword_to_word;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_DWORD"))
+ return function_lword_to_dword;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_STRING"))
+ return function_lword_to_string;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_WSTRING"))
+ return function_lword_to_wstring;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_DATE"))
+ return function_lword_to_date;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_TOD"))
+ return function_lword_to_tod;
+
+ if (!strcasecmp(function_name->value, "LWORD_TO_DT"))
+ return function_lword_to_dt;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_REAL"))
+ return function_string_to_real;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_LREAL"))
+ return function_string_to_lreal;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_SINT"))
+ return function_string_to_sint;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_INT"))
+ return function_string_to_int;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_DINT"))
+ return function_string_to_dint;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_LINT"))
+ return function_string_to_lint;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_USINT"))
+ return function_string_to_usint;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_UINT"))
+ return function_string_to_uint;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_UDINT"))
+ return function_string_to_udint;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_ULINT"))
+ return function_string_to_ulint;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_TIME"))
+ return function_string_to_time;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_BOOL"))
+ return function_string_to_bool;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_BYTE"))
+ return function_string_to_byte;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_WORD"))
+ return function_string_to_word;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_DWORD"))
+ return function_string_to_dword;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_LWORD"))
+ return function_string_to_lword;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_DATE"))
+ return function_string_to_date;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_TOD"))
+ return function_string_to_tod;
+
+ if (!strcasecmp(function_name->value, "STRING_TO_DT"))
+ return function_string_to_dt;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_REAL"))
+ return function_wstring_to_real;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_LREAL"))
+ return function_wstring_to_lreal;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_SINT"))
+ return function_wstring_to_sint;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_INT"))
+ return function_wstring_to_int;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_DINT"))
+ return function_wstring_to_dint;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_LINT"))
+ return function_wstring_to_lint;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_USINT"))
+ return function_wstring_to_usint;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_UINT"))
+ return function_wstring_to_uint;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_UDINT"))
+ return function_wstring_to_udint;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_ULINT"))
+ return function_wstring_to_ulint;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_TIME"))
+ return function_wstring_to_time;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_BOOL"))
+ return function_wstring_to_bool;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_BYTE"))
+ return function_wstring_to_byte;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_WORD"))
+ return function_wstring_to_word;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_DWORD"))
+ return function_wstring_to_dword;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_LWORD"))
+ return function_wstring_to_lword;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_DATE"))
+ return function_wstring_to_date;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_TOD"))
+ return function_wstring_to_tod;
+
+ if (!strcasecmp(function_name->value, "WSTRING_TO_DT"))
+ return function_wstring_to_dt;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_REAL"))
+ return function_date_to_real;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_LREAL"))
+ return function_date_to_lreal;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_SINT"))
+ return function_date_to_sint;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_INT"))
+ return function_date_to_int;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_DINT"))
+ return function_date_to_dint;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_LINT"))
+ return function_date_to_lint;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_USINT"))
+ return function_date_to_usint;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_UINT"))
+ return function_date_to_uint;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_UDINT"))
+ return function_date_to_udint;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_ULINT"))
+ return function_date_to_ulint;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_BOOL"))
+ return function_date_to_bool;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_BYTE"))
+ return function_date_to_byte;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_WORD"))
+ return function_date_to_word;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_DWORD"))
+ return function_date_to_dword;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_LWORD"))
+ return function_date_to_lword;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_STRING"))
+ return function_date_to_string;
+
+ if (!strcasecmp(function_name->value, "DATE_TO_WSTRING"))
+ return function_date_to_wstring;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_REAL"))
+ return function_tod_to_real;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_LREAL"))
+ return function_tod_to_lreal;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_SINT"))
+ return function_tod_to_sint;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_INT"))
+ return function_tod_to_int;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_DINT"))
+ return function_tod_to_dint;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_LINT"))
+ return function_tod_to_lint;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_USINT"))
+ return function_tod_to_usint;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_UINT"))
+ return function_tod_to_uint;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_UDINT"))
+ return function_tod_to_udint;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_ULINT"))
+ return function_tod_to_ulint;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_BOOL"))
+ return function_tod_to_bool;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_BYTE"))
+ return function_tod_to_byte;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_WORD"))
+ return function_tod_to_word;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_DWORD"))
+ return function_tod_to_dword;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_LWORD"))
+ return function_tod_to_lword;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_STRING"))
+ return function_tod_to_string;
+
+ if (!strcasecmp(function_name->value, "TOD_TO_WSTRING"))
+ return function_tod_to_wstring;
+
+ if (!strcasecmp(function_name->value, "DT_TO_REAL"))
+ return function_dt_to_real;
+
+ if (!strcasecmp(function_name->value, "DT_TO_LREAL"))
+ return function_dt_to_lreal;
+
+ if (!strcasecmp(function_name->value, "DT_TO_SINT"))
+ return function_dt_to_sint;
+
+ if (!strcasecmp(function_name->value, "DT_TO_INT"))
+ return function_dt_to_int;
+
+ if (!strcasecmp(function_name->value, "DT_TO_DINT"))
+ return function_dt_to_dint;
+
+ if (!strcasecmp(function_name->value, "DT_TO_LINT"))
+ return function_dt_to_lint;
+
+ if (!strcasecmp(function_name->value, "DT_TO_USINT"))
+ return function_dt_to_usint;
+
+ if (!strcasecmp(function_name->value, "DT_TO_UINT"))
+ return function_dt_to_uint;
+
+ if (!strcasecmp(function_name->value, "DT_TO_UDINT"))
+ return function_dt_to_udint;
+
+ if (!strcasecmp(function_name->value, "DT_TO_ULINT"))
+ return function_dt_to_ulint;
+
+ if (!strcasecmp(function_name->value, "DT_TO_BOOL"))
+ return function_dt_to_bool;
+
+ if (!strcasecmp(function_name->value, "DT_TO_BYTE"))
+ return function_dt_to_byte;
+
+ if (!strcasecmp(function_name->value, "DT_TO_WORD"))
+ return function_dt_to_word;
+
+ if (!strcasecmp(function_name->value, "DT_TO_DWORD"))
+ return function_dt_to_dword;
+
+ if (!strcasecmp(function_name->value, "DT_TO_LWORD"))
+ return function_dt_to_lword;
+
+ if (!strcasecmp(function_name->value, "DT_TO_STRING"))
+ return function_dt_to_string;
+
+ if (!strcasecmp(function_name->value, "DT_TO_WSTRING"))
+ return function_dt_to_wstring;
+
+ if (!strcasecmp(function_name->value, "TRUNC"))
+ return function_trunc;
+
+ if (!strcasecmp(function_name->value, "BCD_TO_SINT"))
+ return function_bcd_to_sint;
+
+ if (!strcasecmp(function_name->value, "BCD_TO_INT"))
+ return function_bcd_to_int;
+
+ if (!strcasecmp(function_name->value, "BCD_TO_DINT"))
+ return function_bcd_to_dint;
+
+ if (!strcasecmp(function_name->value, "BCD_TO_LINT"))
+ return function_bcd_to_lint;
+
+ if (!strcasecmp(function_name->value, "BCD_TO_USINT"))
+ return function_bcd_to_usint;
+
+ if (!strcasecmp(function_name->value, "BCD_TO_UINT"))
+ return function_bcd_to_uint;
+
+ if (!strcasecmp(function_name->value, "BCD_TO_UDINT"))
+ return function_bcd_to_udint;
+
+ if (!strcasecmp(function_name->value, "BCD_TO_ULINT"))
+ return function_bcd_to_ulint;
+
+ if (!strcasecmp(function_name->value, "SINT_TO_BCD"))
+ return function_sint_to_bcd;
+
+ if (!strcasecmp(function_name->value, "INT_TO_BCD"))
+ return function_int_to_bcd;
+
+ if (!strcasecmp(function_name->value, "DINT_TO_BCD"))
+ return function_dint_to_bcd;
+
+ if (!strcasecmp(function_name->value, "LINT_TO_BCD"))
+ return function_lint_to_bcd;
+
+ if (!strcasecmp(function_name->value, "USINT_TO_BCD"))
+ return function_usint_to_bcd;
+
+ if (!strcasecmp(function_name->value, "UINT_TO_BCD"))
+ return function_uint_to_bcd;
+
+ if (!strcasecmp(function_name->value, "UDINT_TO_BCD"))
+ return function_udint_to_bcd;
+
+ if (!strcasecmp(function_name->value, "ULINT_TO_BCD"))
+ return function_ulint_to_bcd;
+
+ if (!strcasecmp(function_name->value, "DATE_AND_TIME_TO_TIME_OF_DAY"))
+ return function_date_and_time_to_time_of_day;
+
+ if (!strcasecmp(function_name->value, "DATE_AND_TIME_TO_DATE"))
+ return function_date_and_time_to_date;
+
+ if (!strcasecmp(function_name->value, "ABS"))
+ return function_abs;
+
+ if (!strcasecmp(function_name->value, "SQRT"))
+ return function_sqrt;
+
+ if (!strcasecmp(function_name->value, "LN"))
+ return function_ln;
+
+ if (!strcasecmp(function_name->value, "LOG"))
+ return function_log;
+
+ if (!strcasecmp(function_name->value, "EXP"))
+ return function_exp;
+
+ if (!strcasecmp(function_name->value, "SIN"))
+ return function_sin;
+
+ if (!strcasecmp(function_name->value, "COS"))
+ return function_cos;
+
+ if (!strcasecmp(function_name->value, "TAN"))
+ return function_tan;
+
+ if (!strcasecmp(function_name->value, "ASIN"))
+ return function_asin;
+
+ if (!strcasecmp(function_name->value, "ACOS"))
+ return function_acos;
+
+ if (!strcasecmp(function_name->value, "ATAN"))
+ return function_atan;
+
+ if (!strcasecmp(function_name->value, "ADD"))
+ return function_add;
+
+ if (!strcasecmp(function_name->value, "MUL"))
+ return function_mul;
+
+ if (!strcasecmp(function_name->value, "SUB"))
+ return function_sub;
+
+ if (!strcasecmp(function_name->value, "DIV"))
+ return function_div;
+
+ if (!strcasecmp(function_name->value, "MOD"))
+ return function_mod;
+
+ if (!strcasecmp(function_name->value, "EXPT"))
+ return function_expt;
+
+ if (!strcasecmp(function_name->value, "MOVE"))
+ return function_move;
+
+ if (!strcasecmp(function_name->value, "SHL"))
+ return function_shl;
+
+ if (!strcasecmp(function_name->value, "SHR"))
+ return function_shr;
+
+ if (!strcasecmp(function_name->value, "ROR"))
+ return function_ror;
+
+ if (!strcasecmp(function_name->value, "ROL"))
+ return function_rol;
+
+ if (!strcasecmp(function_name->value, "AND"))
+ return function_and;
+
+ if (!strcasecmp(function_name->value, "OR"))
+ return function_or;
+
+ if (!strcasecmp(function_name->value, "XOR"))
+ return function_xor;
+
+ if (!strcasecmp(function_name->value, "NOT"))
+ return function_not;
+
+ if (!strcasecmp(function_name->value, "SEL"))
+ return function_sel;
+
+ if (!strcasecmp(function_name->value, "MAX"))
+ return function_max;
+
+ if (!strcasecmp(function_name->value, "MIN"))
+ return function_min;
+
+ if (!strcasecmp(function_name->value, "LIMIT"))
+ return function_limit;
+
+ if (!strcasecmp(function_name->value, "MUX"))
+ return function_mux;
+
+ if (!strcasecmp(function_name->value, "GT"))
+ return function_gt;
+
+ if (!strcasecmp(function_name->value, "GE"))
+ return function_ge;
+
+ if (!strcasecmp(function_name->value, "EQ"))
+ return function_eq;
+
+ if (!strcasecmp(function_name->value, "LT"))
+ return function_lt;
+
+ if (!strcasecmp(function_name->value, "LE"))
+ return function_le;
+
+ if (!strcasecmp(function_name->value, "NE"))
+ return function_ne;
+
+ if (!strcasecmp(function_name->value, "LEN"))
+ return function_len;
+
+ if (!strcasecmp(function_name->value, "LEFT"))
+ return function_left;
+
+ if (!strcasecmp(function_name->value, "RIGHT"))
+ return function_right;
+
+ if (!strcasecmp(function_name->value, "MID"))
+ return function_mid;
+
+ if (!strcasecmp(function_name->value, "CONCAT"))
+ return function_concat;
+
+ if (!strcasecmp(function_name->value, "INSERT"))
+ return function_insert;
+
+ if (!strcasecmp(function_name->value, "DELETE"))
+ return function_delete;
+
+ if (!strcasecmp(function_name->value, "REPLACE"))
+ return function_replace;
+
+ if (!strcasecmp(function_name->value, "FIND"))
+ return function_find;
+
+ else return function_none;
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/stage4/generate_cc/il_code_gen.c Thu Jun 21 10:22:32 2007 +0200
@@ -0,0 +1,16879 @@
+
+/****
+ * IEC 61131-3 standard function lib
+ * generated code, do not edit by hand
+ */
+switch(current_function_type){
+
+/****
+ *REAL_TO_LREAL
+ */
+ case function_real_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lreal*/
+ break;
+
+/****
+ *REAL_TO_SINT
+ */
+ case function_real_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_sint*/
+ break;
+
+/****
+ *REAL_TO_INT
+ */
+ case function_real_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_int*/
+ break;
+
+/****
+ *REAL_TO_DINT
+ */
+ case function_real_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dint*/
+ break;
+
+/****
+ *REAL_TO_LINT
+ */
+ case function_real_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lint*/
+ break;
+
+/****
+ *REAL_TO_USINT
+ */
+ case function_real_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_usint*/
+ break;
+
+/****
+ *REAL_TO_UINT
+ */
+ case function_real_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_uint*/
+ break;
+
+/****
+ *REAL_TO_UDINT
+ */
+ case function_real_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_udint*/
+ break;
+
+/****
+ *REAL_TO_ULINT
+ */
+ case function_real_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_ulint*/
+ break;
+
+/****
+ *REAL_TO_TIME
+ */
+ case function_real_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_time*/
+ break;
+
+/****
+ *REAL_TO_BOOL
+ */
+ case function_real_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_bool*/
+ break;
+
+/****
+ *REAL_TO_BYTE
+ */
+ case function_real_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_byte*/
+ break;
+
+/****
+ *REAL_TO_WORD
+ */
+ case function_real_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_word*/
+ break;
+
+/****
+ *REAL_TO_DWORD
+ */
+ case function_real_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dword*/
+ break;
+
+/****
+ *REAL_TO_LWORD
+ */
+ case function_real_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lword*/
+ break;
+
+/****
+ *REAL_TO_STRING
+ */
+ case function_real_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_string*/
+ break;
+
+/****
+ *REAL_TO_WSTRING
+ */
+ case function_real_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_wstring*/
+ break;
+
+/****
+ *REAL_TO_DATE
+ */
+ case function_real_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_date*/
+ break;
+
+/****
+ *REAL_TO_TOD
+ */
+ case function_real_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_tod*/
+ break;
+
+/****
+ *REAL_TO_DT
+ */
+ case function_real_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dt*/
+ break;
+
+/****
+ *LREAL_TO_REAL
+ */
+ case function_lreal_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_real*/
+ break;
+
+/****
+ *LREAL_TO_SINT
+ */
+ case function_lreal_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_sint*/
+ break;
+
+/****
+ *LREAL_TO_INT
+ */
+ case function_lreal_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_int*/
+ break;
+
+/****
+ *LREAL_TO_DINT
+ */
+ case function_lreal_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dint*/
+ break;
+
+/****
+ *LREAL_TO_LINT
+ */
+ case function_lreal_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_lint*/
+ break;
+
+/****
+ *LREAL_TO_USINT
+ */
+ case function_lreal_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_usint*/
+ break;
+
+/****
+ *LREAL_TO_UINT
+ */
+ case function_lreal_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_uint*/
+ break;
+
+/****
+ *LREAL_TO_UDINT
+ */
+ case function_lreal_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_udint*/
+ break;
+
+/****
+ *LREAL_TO_ULINT
+ */
+ case function_lreal_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_ulint*/
+ break;
+
+/****
+ *LREAL_TO_TIME
+ */
+ case function_lreal_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_time*/
+ break;
+
+/****
+ *LREAL_TO_BOOL
+ */
+ case function_lreal_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_bool*/
+ break;
+
+/****
+ *LREAL_TO_BYTE
+ */
+ case function_lreal_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_byte*/
+ break;
+
+/****
+ *LREAL_TO_WORD
+ */
+ case function_lreal_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_word*/
+ break;
+
+/****
+ *LREAL_TO_DWORD
+ */
+ case function_lreal_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dword*/
+ break;
+
+/****
+ *LREAL_TO_LWORD
+ */
+ case function_lreal_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_lword*/
+ break;
+
+/****
+ *LREAL_TO_STRING
+ */
+ case function_lreal_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_string*/
+ break;
+
+/****
+ *LREAL_TO_WSTRING
+ */
+ case function_lreal_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_wstring*/
+ break;
+
+/****
+ *LREAL_TO_DATE
+ */
+ case function_lreal_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_date*/
+ break;
+
+/****
+ *LREAL_TO_TOD
+ */
+ case function_lreal_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_tod*/
+ break;
+
+/****
+ *LREAL_TO_DT
+ */
+ case function_lreal_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dt*/
+ break;
+
+/****
+ *SINT_TO_REAL
+ */
+ case function_sint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_real*/
+ break;
+
+/****
+ *SINT_TO_LREAL
+ */
+ case function_sint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lreal*/
+ break;
+
+/****
+ *SINT_TO_INT
+ */
+ case function_sint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_int*/
+ break;
+
+/****
+ *SINT_TO_DINT
+ */
+ case function_sint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dint*/
+ break;
+
+/****
+ *SINT_TO_LINT
+ */
+ case function_sint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lint*/
+ break;
+
+/****
+ *SINT_TO_USINT
+ */
+ case function_sint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_usint*/
+ break;
+
+/****
+ *SINT_TO_UINT
+ */
+ case function_sint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_uint*/
+ break;
+
+/****
+ *SINT_TO_UDINT
+ */
+ case function_sint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_udint*/
+ break;
+
+/****
+ *SINT_TO_ULINT
+ */
+ case function_sint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_ulint*/
+ break;
+
+/****
+ *SINT_TO_TIME
+ */
+ case function_sint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_time*/
+ break;
+
+/****
+ *SINT_TO_BOOL
+ */
+ case function_sint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_bool*/
+ break;
+
+/****
+ *SINT_TO_BYTE
+ */
+ case function_sint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_byte*/
+ break;
+
+/****
+ *SINT_TO_WORD
+ */
+ case function_sint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_word*/
+ break;
+
+/****
+ *SINT_TO_DWORD
+ */
+ case function_sint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dword*/
+ break;
+
+/****
+ *SINT_TO_LWORD
+ */
+ case function_sint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lword*/
+ break;
+
+/****
+ *SINT_TO_STRING
+ */
+ case function_sint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_string*/
+ break;
+
+/****
+ *SINT_TO_WSTRING
+ */
+ case function_sint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_wstring*/
+ break;
+
+/****
+ *SINT_TO_DATE
+ */
+ case function_sint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_date*/
+ break;
+
+/****
+ *SINT_TO_TOD
+ */
+ case function_sint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_tod*/
+ break;
+
+/****
+ *SINT_TO_DT
+ */
+ case function_sint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dt*/
+ break;
+
+/****
+ *INT_TO_REAL
+ */
+ case function_int_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_real*/
+ break;
+
+/****
+ *INT_TO_LREAL
+ */
+ case function_int_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lreal*/
+ break;
+
+/****
+ *INT_TO_SINT
+ */
+ case function_int_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_sint*/
+ break;
+
+/****
+ *INT_TO_DINT
+ */
+ case function_int_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dint*/
+ break;
+
+/****
+ *INT_TO_LINT
+ */
+ case function_int_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lint*/
+ break;
+
+/****
+ *INT_TO_USINT
+ */
+ case function_int_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_usint*/
+ break;
+
+/****
+ *INT_TO_UINT
+ */
+ case function_int_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_uint*/
+ break;
+
+/****
+ *INT_TO_UDINT
+ */
+ case function_int_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_udint*/
+ break;
+
+/****
+ *INT_TO_ULINT
+ */
+ case function_int_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_ulint*/
+ break;
+
+/****
+ *INT_TO_TIME
+ */
+ case function_int_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_time*/
+ break;
+
+/****
+ *INT_TO_BOOL
+ */
+ case function_int_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_bool*/
+ break;
+
+/****
+ *INT_TO_BYTE
+ */
+ case function_int_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_byte*/
+ break;
+
+/****
+ *INT_TO_WORD
+ */
+ case function_int_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_word*/
+ break;
+
+/****
+ *INT_TO_DWORD
+ */
+ case function_int_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dword*/
+ break;
+
+/****
+ *INT_TO_LWORD
+ */
+ case function_int_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lword*/
+ break;
+
+/****
+ *INT_TO_STRING
+ */
+ case function_int_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_string*/
+ break;
+
+/****
+ *INT_TO_WSTRING
+ */
+ case function_int_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_wstring*/
+ break;
+
+/****
+ *INT_TO_DATE
+ */
+ case function_int_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_date*/
+ break;
+
+/****
+ *INT_TO_TOD
+ */
+ case function_int_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_tod*/
+ break;
+
+/****
+ *INT_TO_DT
+ */
+ case function_int_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dt*/
+ break;
+
+/****
+ *DINT_TO_REAL
+ */
+ case function_dint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_real*/
+ break;
+
+/****
+ *DINT_TO_LREAL
+ */
+ case function_dint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lreal*/
+ break;
+
+/****
+ *DINT_TO_SINT
+ */
+ case function_dint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_sint*/
+ break;
+
+/****
+ *DINT_TO_INT
+ */
+ case function_dint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_int*/
+ break;
+
+/****
+ *DINT_TO_LINT
+ */
+ case function_dint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lint*/
+ break;
+
+/****
+ *DINT_TO_USINT
+ */
+ case function_dint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_usint*/
+ break;
+
+/****
+ *DINT_TO_UINT
+ */
+ case function_dint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_uint*/
+ break;
+
+/****
+ *DINT_TO_UDINT
+ */
+ case function_dint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_udint*/
+ break;
+
+/****
+ *DINT_TO_ULINT
+ */
+ case function_dint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_ulint*/
+ break;
+
+/****
+ *DINT_TO_TIME
+ */
+ case function_dint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_time*/
+ break;
+
+/****
+ *DINT_TO_BOOL
+ */
+ case function_dint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_bool*/
+ break;
+
+/****
+ *DINT_TO_BYTE
+ */
+ case function_dint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_byte*/
+ break;
+
+/****
+ *DINT_TO_WORD
+ */
+ case function_dint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_word*/
+ break;
+
+/****
+ *DINT_TO_DWORD
+ */
+ case function_dint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_dword*/
+ break;
+
+/****
+ *DINT_TO_LWORD
+ */
+ case function_dint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lword*/
+ break;
+
+/****
+ *DINT_TO_STRING
+ */
+ case function_dint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_string*/
+ break;
+
+/****
+ *DINT_TO_WSTRING
+ */
+ case function_dint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_wstring*/
+ break;
+
+/****
+ *DINT_TO_DATE
+ */
+ case function_dint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_date*/
+ break;
+
+/****
+ *DINT_TO_TOD
+ */
+ case function_dint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_tod*/
+ break;
+
+/****
+ *DINT_TO_DT
+ */
+ case function_dint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_dt*/
+ break;
+
+/****
+ *LINT_TO_REAL
+ */
+ case function_lint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_real*/
+ break;
+
+/****
+ *LINT_TO_LREAL
+ */
+ case function_lint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_lreal*/
+ break;
+
+/****
+ *LINT_TO_SINT
+ */
+ case function_lint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_sint*/
+ break;
+
+/****
+ *LINT_TO_INT
+ */
+ case function_lint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_int*/
+ break;
+
+/****
+ *LINT_TO_DINT
+ */
+ case function_lint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dint*/
+ break;
+
+/****
+ *LINT_TO_USINT
+ */
+ case function_lint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_usint*/
+ break;
+
+/****
+ *LINT_TO_UINT
+ */
+ case function_lint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_uint*/
+ break;
+
+/****
+ *LINT_TO_UDINT
+ */
+ case function_lint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_udint*/
+ break;
+
+/****
+ *LINT_TO_ULINT
+ */
+ case function_lint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_ulint*/
+ break;
+
+/****
+ *LINT_TO_TIME
+ */
+ case function_lint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_time*/
+ break;
+
+/****
+ *LINT_TO_BOOL
+ */
+ case function_lint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_bool*/
+ break;
+
+/****
+ *LINT_TO_BYTE
+ */
+ case function_lint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_byte*/
+ break;
+
+/****
+ *LINT_TO_WORD
+ */
+ case function_lint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_word*/
+ break;
+
+/****
+ *LINT_TO_DWORD
+ */
+ case function_lint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dword*/
+ break;
+
+/****
+ *LINT_TO_LWORD
+ */
+ case function_lint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_lword*/
+ break;
+
+/****
+ *LINT_TO_STRING
+ */
+ case function_lint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_string*/
+ break;
+
+/****
+ *LINT_TO_WSTRING
+ */
+ case function_lint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_wstring*/
+ break;
+
+/****
+ *LINT_TO_DATE
+ */
+ case function_lint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_date*/
+ break;
+
+/****
+ *LINT_TO_TOD
+ */
+ case function_lint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_tod*/
+ break;
+
+/****
+ *LINT_TO_DT
+ */
+ case function_lint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dt*/
+ break;
+
+/****
+ *USINT_TO_REAL
+ */
+ case function_usint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_real*/
+ break;
+
+/****
+ *USINT_TO_LREAL
+ */
+ case function_usint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lreal*/
+ break;
+
+/****
+ *USINT_TO_SINT
+ */
+ case function_usint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_sint*/
+ break;
+
+/****
+ *USINT_TO_INT
+ */
+ case function_usint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_int*/
+ break;
+
+/****
+ *USINT_TO_DINT
+ */
+ case function_usint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dint*/
+ break;
+
+/****
+ *USINT_TO_LINT
+ */
+ case function_usint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lint*/
+ break;
+
+/****
+ *USINT_TO_UINT
+ */
+ case function_usint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_uint*/
+ break;
+
+/****
+ *USINT_TO_UDINT
+ */
+ case function_usint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_udint*/
+ break;
+
+/****
+ *USINT_TO_ULINT
+ */
+ case function_usint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_ulint*/
+ break;
+
+/****
+ *USINT_TO_TIME
+ */
+ case function_usint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_time*/
+ break;
+
+/****
+ *USINT_TO_BOOL
+ */
+ case function_usint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_bool*/
+ break;
+
+/****
+ *USINT_TO_BYTE
+ */
+ case function_usint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_byte*/
+ break;
+
+/****
+ *USINT_TO_WORD
+ */
+ case function_usint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_word*/
+ break;
+
+/****
+ *USINT_TO_DWORD
+ */
+ case function_usint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dword*/
+ break;
+
+/****
+ *USINT_TO_LWORD
+ */
+ case function_usint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lword*/
+ break;
+
+/****
+ *USINT_TO_STRING
+ */
+ case function_usint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_string*/
+ break;
+
+/****
+ *USINT_TO_WSTRING
+ */
+ case function_usint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_wstring*/
+ break;
+
+/****
+ *USINT_TO_DATE
+ */
+ case function_usint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_date*/
+ break;
+
+/****
+ *USINT_TO_TOD
+ */
+ case function_usint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_tod*/
+ break;
+
+/****
+ *USINT_TO_DT
+ */
+ case function_usint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dt*/
+ break;
+
+/****
+ *UINT_TO_REAL
+ */
+ case function_uint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_real*/
+ break;
+
+/****
+ *UINT_TO_LREAL
+ */
+ case function_uint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lreal*/
+ break;
+
+/****
+ *UINT_TO_SINT
+ */
+ case function_uint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_sint*/
+ break;
+
+/****
+ *UINT_TO_INT
+ */
+ case function_uint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_int*/
+ break;
+
+/****
+ *UINT_TO_DINT
+ */
+ case function_uint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dint*/
+ break;
+
+/****
+ *UINT_TO_LINT
+ */
+ case function_uint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lint*/
+ break;
+
+/****
+ *UINT_TO_USINT
+ */
+ case function_uint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_usint*/
+ break;
+
+/****
+ *UINT_TO_UDINT
+ */
+ case function_uint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_udint*/
+ break;
+
+/****
+ *UINT_TO_ULINT
+ */
+ case function_uint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_ulint*/
+ break;
+
+/****
+ *UINT_TO_TIME
+ */
+ case function_uint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_time*/
+ break;
+
+/****
+ *UINT_TO_BOOL
+ */
+ case function_uint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_bool*/
+ break;
+
+/****
+ *UINT_TO_BYTE
+ */
+ case function_uint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_byte*/
+ break;
+
+/****
+ *UINT_TO_WORD
+ */
+ case function_uint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_word*/
+ break;
+
+/****
+ *UINT_TO_DWORD
+ */
+ case function_uint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dword*/
+ break;
+
+/****
+ *UINT_TO_LWORD
+ */
+ case function_uint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lword*/
+ break;
+
+/****
+ *UINT_TO_STRING
+ */
+ case function_uint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_string*/
+ break;
+
+/****
+ *UINT_TO_WSTRING
+ */
+ case function_uint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_wstring*/
+ break;
+
+/****
+ *UINT_TO_DATE
+ */
+ case function_uint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_date*/
+ break;
+
+/****
+ *UINT_TO_TOD
+ */
+ case function_uint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_tod*/
+ break;
+
+/****
+ *UINT_TO_DT
+ */
+ case function_uint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dt*/
+ break;
+
+/****
+ *UDINT_TO_REAL
+ */
+ case function_udint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_real*/
+ break;
+
+/****
+ *UDINT_TO_LREAL
+ */
+ case function_udint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lreal*/
+ break;
+
+/****
+ *UDINT_TO_SINT
+ */
+ case function_udint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_sint*/
+ break;
+
+/****
+ *UDINT_TO_INT
+ */
+ case function_udint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_int*/
+ break;
+
+/****
+ *UDINT_TO_DINT
+ */
+ case function_udint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dint*/
+ break;
+
+/****
+ *UDINT_TO_LINT
+ */
+ case function_udint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lint*/
+ break;
+
+/****
+ *UDINT_TO_USINT
+ */
+ case function_udint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_usint*/
+ break;
+
+/****
+ *UDINT_TO_UINT
+ */
+ case function_udint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_uint*/
+ break;
+
+/****
+ *UDINT_TO_ULINT
+ */
+ case function_udint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_ulint*/
+ break;
+
+/****
+ *UDINT_TO_TIME
+ */
+ case function_udint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_time*/
+ break;
+
+/****
+ *UDINT_TO_BOOL
+ */
+ case function_udint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_bool*/
+ break;
+
+/****
+ *UDINT_TO_BYTE
+ */
+ case function_udint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_byte*/
+ break;
+
+/****
+ *UDINT_TO_WORD
+ */
+ case function_udint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_word*/
+ break;
+
+/****
+ *UDINT_TO_DWORD
+ */
+ case function_udint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dword*/
+ break;
+
+/****
+ *UDINT_TO_LWORD
+ */
+ case function_udint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lword*/
+ break;
+
+/****
+ *UDINT_TO_STRING
+ */
+ case function_udint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_string*/
+ break;
+
+/****
+ *UDINT_TO_WSTRING
+ */
+ case function_udint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_wstring*/
+ break;
+
+/****
+ *UDINT_TO_DATE
+ */
+ case function_udint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_date*/
+ break;
+
+/****
+ *UDINT_TO_TOD
+ */
+ case function_udint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_tod*/
+ break;
+
+/****
+ *UDINT_TO_DT
+ */
+ case function_udint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dt*/
+ break;
+
+/****
+ *ULINT_TO_REAL
+ */
+ case function_ulint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_real*/
+ break;
+
+/****
+ *ULINT_TO_LREAL
+ */
+ case function_ulint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lreal*/
+ break;
+
+/****
+ *ULINT_TO_SINT
+ */
+ case function_ulint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_sint*/
+ break;
+
+/****
+ *ULINT_TO_INT
+ */
+ case function_ulint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_int*/
+ break;
+
+/****
+ *ULINT_TO_DINT
+ */
+ case function_ulint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dint*/
+ break;
+
+/****
+ *ULINT_TO_LINT
+ */
+ case function_ulint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lint*/
+ break;
+
+/****
+ *ULINT_TO_USINT
+ */
+ case function_ulint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_usint*/
+ break;
+
+/****
+ *ULINT_TO_UINT
+ */
+ case function_ulint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_uint*/
+ break;
+
+/****
+ *ULINT_TO_UDINT
+ */
+ case function_ulint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_udint*/
+ break;
+
+/****
+ *ULINT_TO_TIME
+ */
+ case function_ulint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_time*/
+ break;
+
+/****
+ *ULINT_TO_BOOL
+ */
+ case function_ulint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_bool*/
+ break;
+
+/****
+ *ULINT_TO_BYTE
+ */
+ case function_ulint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_byte*/
+ break;
+
+/****
+ *ULINT_TO_WORD
+ */
+ case function_ulint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_word*/
+ break;
+
+/****
+ *ULINT_TO_DWORD
+ */
+ case function_ulint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dword*/
+ break;
+
+/****
+ *ULINT_TO_LWORD
+ */
+ case function_ulint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lword*/
+ break;
+
+/****
+ *ULINT_TO_STRING
+ */
+ case function_ulint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_string*/
+ break;
+
+/****
+ *ULINT_TO_WSTRING
+ */
+ case function_ulint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_wstring*/
+ break;
+
+/****
+ *ULINT_TO_DATE
+ */
+ case function_ulint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_date*/
+ break;
+
+/****
+ *ULINT_TO_TOD
+ */
+ case function_ulint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_tod*/
+ break;
+
+/****
+ *ULINT_TO_DT
+ */
+ case function_ulint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dt*/
+ break;
+
+/****
+ *TIME_TO_REAL
+ */
+ case function_time_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_real*/
+ break;
+
+/****
+ *TIME_TO_LREAL
+ */
+ case function_time_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lreal*/
+ break;
+
+/****
+ *TIME_TO_SINT
+ */
+ case function_time_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_sint*/
+ break;
+
+/****
+ *TIME_TO_INT
+ */
+ case function_time_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_int*/
+ break;
+
+/****
+ *TIME_TO_DINT
+ */
+ case function_time_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_dint*/
+ break;
+
+/****
+ *TIME_TO_LINT
+ */
+ case function_time_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lint*/
+ break;
+
+/****
+ *TIME_TO_USINT
+ */
+ case function_time_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_usint*/
+ break;
+
+/****
+ *TIME_TO_UINT
+ */
+ case function_time_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_uint*/
+ break;
+
+/****
+ *TIME_TO_UDINT
+ */
+ case function_time_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_udint*/
+ break;
+
+/****
+ *TIME_TO_ULINT
+ */
+ case function_time_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_ulint*/
+ break;
+
+/****
+ *TIME_TO_BOOL
+ */
+ case function_time_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_bool*/
+ break;
+
+/****
+ *TIME_TO_BYTE
+ */
+ case function_time_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_byte*/
+ break;
+
+/****
+ *TIME_TO_WORD
+ */
+ case function_time_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_word*/
+ break;
+
+/****
+ *TIME_TO_DWORD
+ */
+ case function_time_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_dword*/
+ break;
+
+/****
+ *TIME_TO_LWORD
+ */
+ case function_time_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lword*/
+ break;
+
+/****
+ *TIME_TO_STRING
+ */
+ case function_time_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_string*/
+ break;
+
+/****
+ *TIME_TO_WSTRING
+ */
+ case function_time_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_wstring*/
+ break;
+
+/****
+ *BOOL_TO_REAL
+ */
+ case function_bool_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_real*/
+ break;
+
+/****
+ *BOOL_TO_LREAL
+ */
+ case function_bool_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lreal*/
+ break;
+
+/****
+ *BOOL_TO_SINT
+ */
+ case function_bool_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_sint*/
+ break;
+
+/****
+ *BOOL_TO_INT
+ */
+ case function_bool_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_int*/
+ break;
+
+/****
+ *BOOL_TO_DINT
+ */
+ case function_bool_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dint*/
+ break;
+
+/****
+ *BOOL_TO_LINT
+ */
+ case function_bool_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lint*/
+ break;
+
+/****
+ *BOOL_TO_USINT
+ */
+ case function_bool_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_usint*/
+ break;
+
+/****
+ *BOOL_TO_UINT
+ */
+ case function_bool_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_uint*/
+ break;
+
+/****
+ *BOOL_TO_UDINT
+ */
+ case function_bool_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_udint*/
+ break;
+
+/****
+ *BOOL_TO_ULINT
+ */
+ case function_bool_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_ulint*/
+ break;
+
+/****
+ *BOOL_TO_TIME
+ */
+ case function_bool_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_time*/
+ break;
+
+/****
+ *BOOL_TO_BYTE
+ */
+ case function_bool_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_byte*/
+ break;
+
+/****
+ *BOOL_TO_WORD
+ */
+ case function_bool_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_word*/
+ break;
+
+/****
+ *BOOL_TO_DWORD
+ */
+ case function_bool_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dword*/
+ break;
+
+/****
+ *BOOL_TO_LWORD
+ */
+ case function_bool_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lword*/
+ break;
+
+/****
+ *BOOL_TO_STRING
+ */
+ case function_bool_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_string*/
+ break;
+
+/****
+ *BOOL_TO_WSTRING
+ */
+ case function_bool_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_wstring*/
+ break;
+
+/****
+ *BOOL_TO_DATE
+ */
+ case function_bool_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_date*/
+ break;
+
+/****
+ *BOOL_TO_TOD
+ */
+ case function_bool_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_tod*/
+ break;
+
+/****
+ *BOOL_TO_DT
+ */
+ case function_bool_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dt*/
+ break;
+
+/****
+ *BYTE_TO_REAL
+ */
+ case function_byte_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_real*/
+ break;
+
+/****
+ *BYTE_TO_LREAL
+ */
+ case function_byte_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lreal*/
+ break;
+
+/****
+ *BYTE_TO_SINT
+ */
+ case function_byte_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_sint*/
+ break;
+
+/****
+ *BYTE_TO_INT
+ */
+ case function_byte_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_int*/
+ break;
+
+/****
+ *BYTE_TO_DINT
+ */
+ case function_byte_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dint*/
+ break;
+
+/****
+ *BYTE_TO_LINT
+ */
+ case function_byte_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lint*/
+ break;
+
+/****
+ *BYTE_TO_USINT
+ */
+ case function_byte_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_usint*/
+ break;
+
+/****
+ *BYTE_TO_UINT
+ */
+ case function_byte_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_uint*/
+ break;
+
+/****
+ *BYTE_TO_UDINT
+ */
+ case function_byte_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_udint*/
+ break;
+
+/****
+ *BYTE_TO_ULINT
+ */
+ case function_byte_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_ulint*/
+ break;
+
+/****
+ *BYTE_TO_TIME
+ */
+ case function_byte_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_time*/
+ break;
+
+/****
+ *BYTE_TO_BOOL
+ */
+ case function_byte_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_bool*/
+ break;
+
+/****
+ *BYTE_TO_WORD
+ */
+ case function_byte_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_word*/
+ break;
+
+/****
+ *BYTE_TO_DWORD
+ */
+ case function_byte_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dword*/
+ break;
+
+/****
+ *BYTE_TO_LWORD
+ */
+ case function_byte_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lword*/
+ break;
+
+/****
+ *BYTE_TO_STRING
+ */
+ case function_byte_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_string*/
+ break;
+
+/****
+ *BYTE_TO_WSTRING
+ */
+ case function_byte_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_wstring*/
+ break;
+
+/****
+ *BYTE_TO_DATE
+ */
+ case function_byte_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_date*/
+ break;
+
+/****
+ *BYTE_TO_TOD
+ */
+ case function_byte_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_tod*/
+ break;
+
+/****
+ *BYTE_TO_DT
+ */
+ case function_byte_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dt*/
+ break;
+
+/****
+ *WORD_TO_REAL
+ */
+ case function_word_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_real*/
+ break;
+
+/****
+ *WORD_TO_LREAL
+ */
+ case function_word_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lreal*/
+ break;
+
+/****
+ *WORD_TO_SINT
+ */
+ case function_word_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_sint*/
+ break;
+
+/****
+ *WORD_TO_INT
+ */
+ case function_word_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_int*/
+ break;
+
+/****
+ *WORD_TO_DINT
+ */
+ case function_word_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dint*/
+ break;
+
+/****
+ *WORD_TO_LINT
+ */
+ case function_word_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lint*/
+ break;
+
+/****
+ *WORD_TO_USINT
+ */
+ case function_word_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_usint*/
+ break;
+
+/****
+ *WORD_TO_UINT
+ */
+ case function_word_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_uint*/
+ break;
+
+/****
+ *WORD_TO_UDINT
+ */
+ case function_word_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_udint*/
+ break;
+
+/****
+ *WORD_TO_ULINT
+ */
+ case function_word_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_ulint*/
+ break;
+
+/****
+ *WORD_TO_TIME
+ */
+ case function_word_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_time*/
+ break;
+
+/****
+ *WORD_TO_BOOL
+ */
+ case function_word_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_bool*/
+ break;
+
+/****
+ *WORD_TO_BYTE
+ */
+ case function_word_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_byte*/
+ break;
+
+/****
+ *WORD_TO_DWORD
+ */
+ case function_word_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dword*/
+ break;
+
+/****
+ *WORD_TO_LWORD
+ */
+ case function_word_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lword*/
+ break;
+
+/****
+ *WORD_TO_STRING
+ */
+ case function_word_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_string*/
+ break;
+
+/****
+ *WORD_TO_WSTRING
+ */
+ case function_word_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_wstring*/
+ break;
+
+/****
+ *WORD_TO_DATE
+ */
+ case function_word_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_date*/
+ break;
+
+/****
+ *WORD_TO_TOD
+ */
+ case function_word_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_tod*/
+ break;
+
+/****
+ *WORD_TO_DT
+ */
+ case function_word_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dt*/
+ break;
+
+/****
+ *DWORD_TO_REAL
+ */
+ case function_dword_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_real*/
+ break;
+
+/****
+ *DWORD_TO_LREAL
+ */
+ case function_dword_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lreal*/
+ break;
+
+/****
+ *DWORD_TO_SINT
+ */
+ case function_dword_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_sint*/
+ break;
+
+/****
+ *DWORD_TO_INT
+ */
+ case function_dword_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_int*/
+ break;
+
+/****
+ *DWORD_TO_DINT
+ */
+ case function_dword_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_dint*/
+ break;
+
+/****
+ *DWORD_TO_LINT
+ */
+ case function_dword_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lint*/
+ break;
+
+/****
+ *DWORD_TO_USINT
+ */
+ case function_dword_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_usint*/
+ break;
+
+/****
+ *DWORD_TO_UINT
+ */
+ case function_dword_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_uint*/
+ break;
+
+/****
+ *DWORD_TO_UDINT
+ */
+ case function_dword_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_udint*/
+ break;
+
+/****
+ *DWORD_TO_ULINT
+ */
+ case function_dword_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_ulint*/
+ break;
+
+/****
+ *DWORD_TO_TIME
+ */
+ case function_dword_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_time*/
+ break;
+
+/****
+ *DWORD_TO_BOOL
+ */
+ case function_dword_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_bool*/
+ break;
+
+/****
+ *DWORD_TO_BYTE
+ */
+ case function_dword_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_byte*/
+ break;
+
+/****
+ *DWORD_TO_WORD
+ */
+ case function_dword_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_word*/
+ break;
+
+/****
+ *DWORD_TO_LWORD
+ */
+ case function_dword_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lword*/
+ break;
+
+/****
+ *DWORD_TO_STRING
+ */
+ case function_dword_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_string*/
+ break;
+
+/****
+ *DWORD_TO_WSTRING
+ */
+ case function_dword_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_wstring*/
+ break;
+
+/****
+ *DWORD_TO_DATE
+ */
+ case function_dword_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_date*/
+ break;
+
+/****
+ *DWORD_TO_TOD
+ */
+ case function_dword_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_tod*/
+ break;
+
+/****
+ *DWORD_TO_DT
+ */
+ case function_dword_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_dt*/
+ break;
+
+/****
+ *LWORD_TO_REAL
+ */
+ case function_lword_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_real*/
+ break;
+
+/****
+ *LWORD_TO_LREAL
+ */
+ case function_lword_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_lreal*/
+ break;
+
+/****
+ *LWORD_TO_SINT
+ */
+ case function_lword_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_sint*/
+ break;
+
+/****
+ *LWORD_TO_INT
+ */
+ case function_lword_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_int*/
+ break;
+
+/****
+ *LWORD_TO_DINT
+ */
+ case function_lword_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dint*/
+ break;
+
+/****
+ *LWORD_TO_LINT
+ */
+ case function_lword_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_lint*/
+ break;
+
+/****
+ *LWORD_TO_USINT
+ */
+ case function_lword_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_usint*/
+ break;
+
+/****
+ *LWORD_TO_UINT
+ */
+ case function_lword_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_uint*/
+ break;
+
+/****
+ *LWORD_TO_UDINT
+ */
+ case function_lword_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_udint*/
+ break;
+
+/****
+ *LWORD_TO_ULINT
+ */
+ case function_lword_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_ulint*/
+ break;
+
+/****
+ *LWORD_TO_TIME
+ */
+ case function_lword_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_time*/
+ break;
+
+/****
+ *LWORD_TO_BOOL
+ */
+ case function_lword_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_bool*/
+ break;
+
+/****
+ *LWORD_TO_BYTE
+ */
+ case function_lword_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_byte*/
+ break;
+
+/****
+ *LWORD_TO_WORD
+ */
+ case function_lword_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_word*/
+ break;
+
+/****
+ *LWORD_TO_DWORD
+ */
+ case function_lword_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dword*/
+ break;
+
+/****
+ *LWORD_TO_STRING
+ */
+ case function_lword_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_string*/
+ break;
+
+/****
+ *LWORD_TO_WSTRING
+ */
+ case function_lword_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_wstring*/
+ break;
+
+/****
+ *LWORD_TO_DATE
+ */
+ case function_lword_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_date*/
+ break;
+
+/****
+ *LWORD_TO_TOD
+ */
+ case function_lword_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_tod*/
+ break;
+
+/****
+ *LWORD_TO_DT
+ */
+ case function_lword_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dt*/
+ break;
+
+/****
+ *STRING_TO_REAL
+ */
+ case function_string_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_real*/
+ break;
+
+/****
+ *STRING_TO_LREAL
+ */
+ case function_string_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lreal*/
+ break;
+
+/****
+ *STRING_TO_SINT
+ */
+ case function_string_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_sint*/
+ break;
+
+/****
+ *STRING_TO_INT
+ */
+ case function_string_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_int*/
+ break;
+
+/****
+ *STRING_TO_DINT
+ */
+ case function_string_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dint*/
+ break;
+
+/****
+ *STRING_TO_LINT
+ */
+ case function_string_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lint*/
+ break;
+
+/****
+ *STRING_TO_USINT
+ */
+ case function_string_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_usint*/
+ break;
+
+/****
+ *STRING_TO_UINT
+ */
+ case function_string_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_uint*/
+ break;
+
+/****
+ *STRING_TO_UDINT
+ */
+ case function_string_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_udint*/
+ break;
+
+/****
+ *STRING_TO_ULINT
+ */
+ case function_string_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_ulint*/
+ break;
+
+/****
+ *STRING_TO_TIME
+ */
+ case function_string_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_time*/
+ break;
+
+/****
+ *STRING_TO_BOOL
+ */
+ case function_string_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_bool*/
+ break;
+
+/****
+ *STRING_TO_BYTE
+ */
+ case function_string_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_byte*/
+ break;
+
+/****
+ *STRING_TO_WORD
+ */
+ case function_string_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_word*/
+ break;
+
+/****
+ *STRING_TO_DWORD
+ */
+ case function_string_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dword*/
+ break;
+
+/****
+ *STRING_TO_LWORD
+ */
+ case function_string_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lword*/
+ break;
+
+/****
+ *STRING_TO_DATE
+ */
+ case function_string_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_date*/
+ break;
+
+/****
+ *STRING_TO_TOD
+ */
+ case function_string_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_tod*/
+ break;
+
+/****
+ *STRING_TO_DT
+ */
+ case function_string_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dt*/
+ break;
+
+/****
+ *WSTRING_TO_REAL
+ */
+ case function_wstring_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_real*/
+ break;
+
+/****
+ *WSTRING_TO_LREAL
+ */
+ case function_wstring_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lreal*/
+ break;
+
+/****
+ *WSTRING_TO_SINT
+ */
+ case function_wstring_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_sint*/
+ break;
+
+/****
+ *WSTRING_TO_INT
+ */
+ case function_wstring_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_int*/
+ break;
+
+/****
+ *WSTRING_TO_DINT
+ */
+ case function_wstring_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dint*/
+ break;
+
+/****
+ *WSTRING_TO_LINT
+ */
+ case function_wstring_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lint*/
+ break;
+
+/****
+ *WSTRING_TO_USINT
+ */
+ case function_wstring_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_usint*/
+ break;
+
+/****
+ *WSTRING_TO_UINT
+ */
+ case function_wstring_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_uint*/
+ break;
+
+/****
+ *WSTRING_TO_UDINT
+ */
+ case function_wstring_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_udint*/
+ break;
+
+/****
+ *WSTRING_TO_ULINT
+ */
+ case function_wstring_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_ulint*/
+ break;
+
+/****
+ *WSTRING_TO_TIME
+ */
+ case function_wstring_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_time*/
+ break;
+
+/****
+ *WSTRING_TO_BOOL
+ */
+ case function_wstring_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_bool*/
+ break;
+
+/****
+ *WSTRING_TO_BYTE
+ */
+ case function_wstring_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_byte*/
+ break;
+
+/****
+ *WSTRING_TO_WORD
+ */
+ case function_wstring_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_word*/
+ break;
+
+/****
+ *WSTRING_TO_DWORD
+ */
+ case function_wstring_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dword*/
+ break;
+
+/****
+ *WSTRING_TO_LWORD
+ */
+ case function_wstring_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lword*/
+ break;
+
+/****
+ *WSTRING_TO_DATE
+ */
+ case function_wstring_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_date*/
+ break;
+
+/****
+ *WSTRING_TO_TOD
+ */
+ case function_wstring_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_tod*/
+ break;
+
+/****
+ *WSTRING_TO_DT
+ */
+ case function_wstring_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dt*/
+ break;
+
+/****
+ *DATE_TO_REAL
+ */
+ case function_date_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_real*/
+ break;
+
+/****
+ *DATE_TO_LREAL
+ */
+ case function_date_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lreal*/
+ break;
+
+/****
+ *DATE_TO_SINT
+ */
+ case function_date_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_sint*/
+ break;
+
+/****
+ *DATE_TO_INT
+ */
+ case function_date_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_int*/
+ break;
+
+/****
+ *DATE_TO_DINT
+ */
+ case function_date_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_dint*/
+ break;
+
+/****
+ *DATE_TO_LINT
+ */
+ case function_date_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lint*/
+ break;
+
+/****
+ *DATE_TO_USINT
+ */
+ case function_date_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_usint*/
+ break;
+
+/****
+ *DATE_TO_UINT
+ */
+ case function_date_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_uint*/
+ break;
+
+/****
+ *DATE_TO_UDINT
+ */
+ case function_date_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_udint*/
+ break;
+
+/****
+ *DATE_TO_ULINT
+ */
+ case function_date_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_ulint*/
+ break;
+
+/****
+ *DATE_TO_BOOL
+ */
+ case function_date_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_bool*/
+ break;
+
+/****
+ *DATE_TO_BYTE
+ */
+ case function_date_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_byte*/
+ break;
+
+/****
+ *DATE_TO_WORD
+ */
+ case function_date_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_word*/
+ break;
+
+/****
+ *DATE_TO_DWORD
+ */
+ case function_date_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_dword*/
+ break;
+
+/****
+ *DATE_TO_LWORD
+ */
+ case function_date_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lword*/
+ break;
+
+/****
+ *DATE_TO_STRING
+ */
+ case function_date_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_string*/
+ break;
+
+/****
+ *DATE_TO_WSTRING
+ */
+ case function_date_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_wstring*/
+ break;
+
+/****
+ *TOD_TO_REAL
+ */
+ case function_tod_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_real*/
+ break;
+
+/****
+ *TOD_TO_LREAL
+ */
+ case function_tod_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lreal*/
+ break;
+
+/****
+ *TOD_TO_SINT
+ */
+ case function_tod_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_sint*/
+ break;
+
+/****
+ *TOD_TO_INT
+ */
+ case function_tod_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_int*/
+ break;
+
+/****
+ *TOD_TO_DINT
+ */
+ case function_tod_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_dint*/
+ break;
+
+/****
+ *TOD_TO_LINT
+ */
+ case function_tod_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lint*/
+ break;
+
+/****
+ *TOD_TO_USINT
+ */
+ case function_tod_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_usint*/
+ break;
+
+/****
+ *TOD_TO_UINT
+ */
+ case function_tod_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_uint*/
+ break;
+
+/****
+ *TOD_TO_UDINT
+ */
+ case function_tod_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_udint*/
+ break;
+
+/****
+ *TOD_TO_ULINT
+ */
+ case function_tod_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_ulint*/
+ break;
+
+/****
+ *TOD_TO_BOOL
+ */
+ case function_tod_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_bool*/
+ break;
+
+/****
+ *TOD_TO_BYTE
+ */
+ case function_tod_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_byte*/
+ break;
+
+/****
+ *TOD_TO_WORD
+ */
+ case function_tod_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_word*/
+ break;
+
+/****
+ *TOD_TO_DWORD
+ */
+ case function_tod_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_dword*/
+ break;
+
+/****
+ *TOD_TO_LWORD
+ */
+ case function_tod_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lword*/
+ break;
+
+/****
+ *TOD_TO_STRING
+ */
+ case function_tod_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_string*/
+ break;
+
+/****
+ *TOD_TO_WSTRING
+ */
+ case function_tod_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_wstring*/
+ break;
+
+/****
+ *DT_TO_REAL
+ */
+ case function_dt_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_real*/
+ break;
+
+/****
+ *DT_TO_LREAL
+ */
+ case function_dt_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lreal*/
+ break;
+
+/****
+ *DT_TO_SINT
+ */
+ case function_dt_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_sint*/
+ break;
+
+/****
+ *DT_TO_INT
+ */
+ case function_dt_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_int*/
+ break;
+
+/****
+ *DT_TO_DINT
+ */
+ case function_dt_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_dint*/
+ break;
+
+/****
+ *DT_TO_LINT
+ */
+ case function_dt_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lint*/
+ break;
+
+/****
+ *DT_TO_USINT
+ */
+ case function_dt_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_usint*/
+ break;
+
+/****
+ *DT_TO_UINT
+ */
+ case function_dt_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_uint*/
+ break;
+
+/****
+ *DT_TO_UDINT
+ */
+ case function_dt_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_udint*/
+ break;
+
+/****
+ *DT_TO_ULINT
+ */
+ case function_dt_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_ulint*/
+ break;
+
+/****
+ *DT_TO_BOOL
+ */
+ case function_dt_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_bool*/
+ break;
+
+/****
+ *DT_TO_BYTE
+ */
+ case function_dt_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_byte*/
+ break;
+
+/****
+ *DT_TO_WORD
+ */
+ case function_dt_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_word*/
+ break;
+
+/****
+ *DT_TO_DWORD
+ */
+ case function_dt_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_dword*/
+ break;
+
+/****
+ *DT_TO_LWORD
+ */
+ case function_dt_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lword*/
+ break;
+
+/****
+ *DT_TO_STRING
+ */
+ case function_dt_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_string*/
+ break;
+
+/****
+ *DT_TO_WSTRING
+ */
+ case function_dt_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_wstring*/
+ break;
+
+/****
+ *TRUNC
+ */
+ case function_trunc :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("(int)");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_trunc*/
+ break;
+
+/****
+ *BCD_TO_SINT
+ */
+ case function_bcd_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_sint*/
+ break;
+
+/****
+ *BCD_TO_INT
+ */
+ case function_bcd_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_int*/
+ break;
+
+/****
+ *BCD_TO_DINT
+ */
+ case function_bcd_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_dint*/
+ break;
+
+/****
+ *BCD_TO_LINT
+ */
+ case function_bcd_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_lint*/
+ break;
+
+/****
+ *BCD_TO_USINT
+ */
+ case function_bcd_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_usint*/
+ break;
+
+/****
+ *BCD_TO_UINT
+ */
+ case function_bcd_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_uint*/
+ break;
+
+/****
+ *BCD_TO_UDINT
+ */
+ case function_bcd_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_udint*/
+ break;
+
+/****
+ *BCD_TO_ULINT
+ */
+ case function_bcd_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_ulint*/
+ break;
+
+/****
+ *SINT_TO_BCD
+ */
+ case function_sint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_bcd*/
+ break;
+
+/****
+ *INT_TO_BCD
+ */
+ case function_int_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_bcd*/
+ break;
+
+/****
+ *DINT_TO_BCD
+ */
+ case function_dint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_bcd*/
+ break;
+
+/****
+ *LINT_TO_BCD
+ */
+ case function_lint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_bcd*/
+ break;
+
+/****
+ *USINT_TO_BCD
+ */
+ case function_usint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_bcd*/
+ break;
+
+/****
+ *UINT_TO_BCD
+ */
+ case function_uint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_bcd*/
+ break;
+
+/****
+ *UDINT_TO_BCD
+ */
+ case function_udint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_bcd*/
+ break;
+
+/****
+ *ULINT_TO_BCD
+ */
+ case function_ulint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_bcd*/
+ break;
+
+/****
+ *DATE_AND_TIME_TO_TIME_OF_DAY
+ */
+ case function_date_and_time_to_time_of_day :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("__date_and_time_to_time_of_day(&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_and_time_to_time_of_day*/
+ break;
+
+/****
+ *DATE_AND_TIME_TO_DATE
+ */
+ case function_date_and_time_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("__date_and_time_to_time_of_day(&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_and_time_to_date*/
+ break;
+
+/****
+ *ABS
+ */
+ case function_abs :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("__abs_");
+ IN_type_symbol->accept(*this);
+ s4o.print("(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_abs*/
+ break;
+
+/****
+ *SQRT
+ */
+ case function_sqrt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("sqrt(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sqrt*/
+ break;
+
+/****
+ *LN
+ */
+ case function_ln :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("ln(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ln*/
+ break;
+
+/****
+ *LOG
+ */
+ case function_log :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("log(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_log*/
+ break;
+
+/****
+ *EXP
+ */
+ case function_exp :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("exp(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_exp*/
+ break;
+
+/****
+ *SIN
+ */
+ case function_sin :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("sin(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sin*/
+ break;
+
+/****
+ *COS
+ */
+ case function_cos :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("cos(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_cos*/
+ break;
+
+/****
+ *TAN
+ */
+ case function_tan :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("tan(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tan*/
+ break;
+
+/****
+ *ASIN
+ */
+ case function_asin :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("asin(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_asin*/
+ break;
+
+/****
+ *ACOS
+ */
+ case function_acos :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("acos(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_acos*/
+ break;
+
+/****
+ *ATAN
+ */
+ case function_atan :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("atan(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_atan*/
+ break;
+
+/****
+ *ADD
+ */
+ case function_add :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("+");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print("+");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("__time_add(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("__time_add(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_add(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_add*/
+ break;
+
+/****
+ *MUL
+ */
+ case function_mul :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("*");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print("*");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_mul(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mul*/
+ break;
+
+/****
+ *SUB
+ */
+ case function_sub :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("-");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sub*/
+ break;
+
+/****
+ *DIV
+ */
+ case function_div :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("/");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_div(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_div*/
+ break;
+
+/****
+ *MOD
+ */
+ case function_mod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("%");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mod*/
+ break;
+
+/****
+ *EXPT
+ */
+ case function_expt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("pow(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_expt*/
+ break;
+
+/****
+ *MOVE
+ */
+ case function_move :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_move*/
+ break;
+
+/****
+ *SHL
+ */
+ case function_shl :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ IN_param_value->accept(*this);
+ s4o.print("<<");
+ N_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_shl*/
+ break;
+
+/****
+ *SHR
+ */
+ case function_shr :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ IN_param_value->accept(*this);
+ s4o.print(">>");
+ N_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_shr*/
+ break;
+
+/****
+ *ROR
+ */
+ case function_ror :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("__ror(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("), &");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ N_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ror*/
+ break;
+
+/****
+ *ROL
+ */
+ case function_rol :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("__rol(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("), &");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ N_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_rol*/
+ break;
+
+/****
+ *AND
+ */
+ case function_and :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ if (search_expression_type->is_bool_type(last_type_symbol))
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("&");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print("&");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ if (search_expression_type->is_bool_type(last_type_symbol)) {
+ s4o.print("&1");
+ s4o.print(")");
+ }
+ s4o.print("");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_and*/
+ break;
+
+/****
+ *OR
+ */
+ case function_or :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ if (search_expression_type->is_bool_type(last_type_symbol))
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("|");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print("|");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ if (search_expression_type->is_bool_type(last_type_symbol)) {
+ s4o.print("&1");
+ s4o.print(")");
+ }
+ s4o.print("");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_or*/
+ break;
+
+/****
+ *XOR
+ */
+ case function_xor :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ if (search_expression_type->is_bool_type(last_type_symbol))
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("^");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print("^");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ if (search_expression_type->is_bool_type(last_type_symbol)) {
+ s4o.print("&1");
+ s4o.print(")");
+ }
+ s4o.print("");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_xor*/
+ break;
+
+/****
+ *NOT
+ */
+ case function_not :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("~");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_not*/
+ break;
+
+/****
+ *SEL
+ */
+ case function_sel :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *G_param_value = &this->default_variable_name;
+
+ symbol_c *G_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN0");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN0_param_value == NULL)
+ IN0_param_value = function_call_param_iterator.next();
+ symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ G_param_value->accept(*this);
+ s4o.print(" ? ");
+ IN1_param_value->accept(*this);
+ s4o.print(" : ");
+ IN0_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sel*/
+ break;
+
+/****
+ *MAX
+ */
+ case function_max :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("__max_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_max*/
+ break;
+
+/****
+ *MIN
+ */
+ case function_min :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("__min_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_min*/
+ break;
+
+/****
+ *LIMIT
+ */
+ case function_limit :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *MN_param_value = &this->default_variable_name;
+
+ symbol_c *MN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("MX");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *MX_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (MX_param_value == NULL)
+ MX_param_value = function_call_param_iterator.next();
+ symbol_c *MX_type_symbol = search_expression_type->get_type(MX_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("__limit_");
+ IN_type_symbol->accept(*this);
+ s4o.print("(");
+ MN_param_value->accept(*this);
+ s4o.print(", ");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ MX_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_limit*/
+ break;
+
+/****
+ *MUX
+ */
+ case function_mux :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *K_param_value = &this->default_variable_name;
+
+ symbol_c *K_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_integer_type(K_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN0");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN0_param_value == NULL)
+ IN0_param_value = function_call_param_iterator.next();
+ symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("__mux_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ K_param_value->accept(*this);
+ s4o.print(",");
+ IN0_param_value->accept(*this);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+
+ int base_num = 2;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mux*/
+ break;
+
+/****
+ *GT
+ */
+ case function_gt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__gt_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_gt*/
+ break;
+
+/****
+ *GE
+ */
+ case function_ge :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__ge_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ge*/
+ break;
+
+/****
+ *EQ
+ */
+ case function_eq :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__eq_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_eq*/
+ break;
+
+/****
+ *LT
+ */
+ case function_lt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__lt_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lt*/
+ break;
+
+/****
+ *LE
+ */
+ case function_le :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__le_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_le*/
+ break;
+
+/****
+ *NE
+ */
+ case function_ne :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__ne_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ne*/
+ break;
+
+/****
+ *LEN
+ */
+ case function_len :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("__len(&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_len*/
+ break;
+
+/****
+ *LEFT
+ */
+ case function_left :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__left(&");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ L_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_left*/
+ break;
+
+/****
+ *RIGHT
+ */
+ case function_right :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__right(&");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ L_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_right*/
+ break;
+
+/****
+ *MID
+ */
+ case function_mid :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__mid(&");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ L_param_value->accept(*this);
+ s4o.print(", ");
+ P_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mid*/
+ break;
+
+/****
+ *CONCAT
+ */
+ case function_concat :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("__time_add(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__concat(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",&");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",&");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_concat*/
+ break;
+
+/****
+ *INSERT
+ */
+ case function_insert :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__insert(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(", ");
+ P_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_insert*/
+ break;
+
+/****
+ *DELETE
+ */
+ case function_delete :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = &this->default_variable_name;
+
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__delete(&");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ L_param_value->accept(*this);
+ s4o.print(", ");
+ P_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_delete*/
+ break;
+
+/****
+ *REPLACE
+ */
+ case function_replace :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__replace(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(", ");
+ L_param_value->accept(*this);
+ s4o.print(", ");
+ P_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_replace*/
+ break;
+
+/****
+ *FIND
+ */
+ case function_find :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = &this->default_variable_name;
+
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("__find(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_find*/
+ break;
+
+ case function_none :
+ ERROR;
+}
+return NULL;
--- a/stage4/generate_cc/search_expression_type.cc Tue Jun 19 08:42:10 2007 +0200
+++ b/stage4/generate_cc/search_expression_type.cc Thu Jun 21 10:22:32 2007 +0200
@@ -158,21 +158,18 @@
if ((typeid(*first_type) == typeid(constant_real_type_name_c) && is_real_type(second_type))) {return second_type;}
return NULL;
}
-
- private:
-
+
+#include "search_type_code.c"
+
+#if 0
void *compute_standard_function_st(function_invocation_c *symbol) {
-#if 0
symbol_c *current_type = NULL;
symbol_c *return_type = NULL;
-#endif
function_type_t current_function_type = get_function_type((identifier_c *)symbol->function_name);
function_call_param_iterator_c function_call_param_iterator(symbol);
search_expression_type_c* search_expression_type = this;
- #include "search_type_code.c"
-
-#if 0
+
for(int current_param = 0; current_param < ((list_c *)symbol->parameter_assignment_list)->n; current_param++) {
symbol_c *param_name = NULL;
switch (current_function_type) {
@@ -259,11 +256,7 @@
}
}
return (void *)return_type;
-#endif
-
- }
-
- public:
+ }
void *compute_standard_function_il(il_function_call_c *symbol, symbol_c *param_type) {
/*symbol_c *current_type = NULL;*/
@@ -310,6 +303,7 @@
return (void *)return_type;
}
+#endif
/*static bool_type_name_c bool_type_name;*/
--- a/stage4/generate_cc/search_type_code.c Tue Jun 19 08:42:10 2007 +0200
+++ b/stage4/generate_cc/search_type_code.c Thu Jun 21 10:22:32 2007 +0200
@@ -3,17247 +3,28970 @@
* IEC 61131-3 standard function lib
* generated code, do not edit by hand
*/
-switch(current_function_type){
-
-/****
- *REAL_TO_REAL
- */
- case function_real_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_real*/
- break;
+
+void *compute_standard_function_st(function_invocation_c *symbol) {
+
+ function_type_t current_function_type = get_function_type((identifier_c *)symbol->function_name);
+ function_call_param_iterator_c function_call_param_iterator(symbol);
+ search_expression_type_c* search_expression_type = this;
+
+ switch(current_function_type){
+
+/****
+ *REAL_TO_LREAL
+ */
+ case function_real_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lreal*/
+ break;
/****
*REAL_TO_SINT
*/
- case function_real_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_sint*/
- break;
+ case function_real_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_sint*/
+ break;
+
+/****
+ *REAL_TO_INT
+ */
+ case function_real_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_int*/
+ break;
+
+/****
+ *REAL_TO_DINT
+ */
+ case function_real_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dint*/
+ break;
/****
*REAL_TO_LINT
*/
- case function_real_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_lint*/
- break;
+ case function_real_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lint*/
+ break;
+
+/****
+ *REAL_TO_USINT
+ */
+ case function_real_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_usint*/
+ break;
+
+/****
+ *REAL_TO_UINT
+ */
+ case function_real_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_uint*/
+ break;
+
+/****
+ *REAL_TO_UDINT
+ */
+ case function_real_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_udint*/
+ break;
+
+/****
+ *REAL_TO_ULINT
+ */
+ case function_real_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_ulint*/
+ break;
+
+/****
+ *REAL_TO_TIME
+ */
+ case function_real_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_time*/
+ break;
+
+/****
+ *REAL_TO_BOOL
+ */
+ case function_real_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_bool*/
+ break;
+
+/****
+ *REAL_TO_BYTE
+ */
+ case function_real_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_byte*/
+ break;
+
+/****
+ *REAL_TO_WORD
+ */
+ case function_real_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_word*/
+ break;
+
+/****
+ *REAL_TO_DWORD
+ */
+ case function_real_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dword*/
+ break;
+
+/****
+ *REAL_TO_LWORD
+ */
+ case function_real_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lword*/
+ break;
+
+/****
+ *REAL_TO_STRING
+ */
+ case function_real_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_string*/
+ break;
+
+/****
+ *REAL_TO_WSTRING
+ */
+ case function_real_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_wstring*/
+ break;
+
+/****
+ *REAL_TO_DATE
+ */
+ case function_real_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_date*/
+ break;
+
+/****
+ *REAL_TO_TOD
+ */
+ case function_real_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_tod*/
+ break;
+
+/****
+ *REAL_TO_DT
+ */
+ case function_real_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dt*/
+ break;
+
+/****
+ *LREAL_TO_REAL
+ */
+ case function_lreal_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_real*/
+ break;
+
+/****
+ *LREAL_TO_SINT
+ */
+ case function_lreal_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_sint*/
+ break;
+
+/****
+ *LREAL_TO_INT
+ */
+ case function_lreal_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_int*/
+ break;
+
+/****
+ *LREAL_TO_DINT
+ */
+ case function_lreal_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dint*/
+ break;
+
+/****
+ *LREAL_TO_LINT
+ */
+ case function_lreal_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_lint*/
+ break;
+
+/****
+ *LREAL_TO_USINT
+ */
+ case function_lreal_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_usint*/
+ break;
+
+/****
+ *LREAL_TO_UINT
+ */
+ case function_lreal_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_uint*/
+ break;
+
+/****
+ *LREAL_TO_UDINT
+ */
+ case function_lreal_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_udint*/
+ break;
+
+/****
+ *LREAL_TO_ULINT
+ */
+ case function_lreal_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_ulint*/
+ break;
+
+/****
+ *LREAL_TO_TIME
+ */
+ case function_lreal_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_time*/
+ break;
+
+/****
+ *LREAL_TO_BOOL
+ */
+ case function_lreal_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_bool*/
+ break;
+
+/****
+ *LREAL_TO_BYTE
+ */
+ case function_lreal_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_byte*/
+ break;
+
+/****
+ *LREAL_TO_WORD
+ */
+ case function_lreal_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_word*/
+ break;
+
+/****
+ *LREAL_TO_DWORD
+ */
+ case function_lreal_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dword*/
+ break;
+
+/****
+ *LREAL_TO_LWORD
+ */
+ case function_lreal_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_lword*/
+ break;
+
+/****
+ *LREAL_TO_STRING
+ */
+ case function_lreal_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_string*/
+ break;
+
+/****
+ *LREAL_TO_WSTRING
+ */
+ case function_lreal_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_wstring*/
+ break;
+
+/****
+ *LREAL_TO_DATE
+ */
+ case function_lreal_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_date*/
+ break;
+
+/****
+ *LREAL_TO_TOD
+ */
+ case function_lreal_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_tod*/
+ break;
+
+/****
+ *LREAL_TO_DT
+ */
+ case function_lreal_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dt*/
+ break;
+
+/****
+ *SINT_TO_REAL
+ */
+ case function_sint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_real*/
+ break;
+
+/****
+ *SINT_TO_LREAL
+ */
+ case function_sint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lreal*/
+ break;
+
+/****
+ *SINT_TO_INT
+ */
+ case function_sint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_int*/
+ break;
+
+/****
+ *SINT_TO_DINT
+ */
+ case function_sint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dint*/
+ break;
+
+/****
+ *SINT_TO_LINT
+ */
+ case function_sint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lint*/
+ break;
+
+/****
+ *SINT_TO_USINT
+ */
+ case function_sint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_usint*/
+ break;
+
+/****
+ *SINT_TO_UINT
+ */
+ case function_sint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_uint*/
+ break;
+
+/****
+ *SINT_TO_UDINT
+ */
+ case function_sint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_udint*/
+ break;
+
+/****
+ *SINT_TO_ULINT
+ */
+ case function_sint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_ulint*/
+ break;
+
+/****
+ *SINT_TO_TIME
+ */
+ case function_sint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_time*/
+ break;
+
+/****
+ *SINT_TO_BOOL
+ */
+ case function_sint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_bool*/
+ break;
+
+/****
+ *SINT_TO_BYTE
+ */
+ case function_sint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_byte*/
+ break;
+
+/****
+ *SINT_TO_WORD
+ */
+ case function_sint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_word*/
+ break;
+
+/****
+ *SINT_TO_DWORD
+ */
+ case function_sint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dword*/
+ break;
+
+/****
+ *SINT_TO_LWORD
+ */
+ case function_sint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lword*/
+ break;
+
+/****
+ *SINT_TO_STRING
+ */
+ case function_sint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_string*/
+ break;
+
+/****
+ *SINT_TO_WSTRING
+ */
+ case function_sint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_wstring*/
+ break;
+
+/****
+ *SINT_TO_DATE
+ */
+ case function_sint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_date*/
+ break;
+
+/****
+ *SINT_TO_TOD
+ */
+ case function_sint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_tod*/
+ break;
+
+/****
+ *SINT_TO_DT
+ */
+ case function_sint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dt*/
+ break;
+
+/****
+ *INT_TO_REAL
+ */
+ case function_int_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_real*/
+ break;
+
+/****
+ *INT_TO_LREAL
+ */
+ case function_int_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lreal*/
+ break;
+
+/****
+ *INT_TO_SINT
+ */
+ case function_int_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_sint*/
+ break;
+
+/****
+ *INT_TO_DINT
+ */
+ case function_int_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dint*/
+ break;
+
+/****
+ *INT_TO_LINT
+ */
+ case function_int_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lint*/
+ break;
+
+/****
+ *INT_TO_USINT
+ */
+ case function_int_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_usint*/
+ break;
+
+/****
+ *INT_TO_UINT
+ */
+ case function_int_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_uint*/
+ break;
+
+/****
+ *INT_TO_UDINT
+ */
+ case function_int_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_udint*/
+ break;
+
+/****
+ *INT_TO_ULINT
+ */
+ case function_int_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_ulint*/
+ break;
+
+/****
+ *INT_TO_TIME
+ */
+ case function_int_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_time*/
+ break;
+
+/****
+ *INT_TO_BOOL
+ */
+ case function_int_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_bool*/
+ break;
+
+/****
+ *INT_TO_BYTE
+ */
+ case function_int_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_byte*/
+ break;
+
+/****
+ *INT_TO_WORD
+ */
+ case function_int_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_word*/
+ break;
+
+/****
+ *INT_TO_DWORD
+ */
+ case function_int_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dword*/
+ break;
+
+/****
+ *INT_TO_LWORD
+ */
+ case function_int_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lword*/
+ break;
+
+/****
+ *INT_TO_STRING
+ */
+ case function_int_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_string*/
+ break;
+
+/****
+ *INT_TO_WSTRING
+ */
+ case function_int_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_wstring*/
+ break;
+
+/****
+ *INT_TO_DATE
+ */
+ case function_int_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_date*/
+ break;
+
+/****
+ *INT_TO_TOD
+ */
+ case function_int_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_tod*/
+ break;
+
+/****
+ *INT_TO_DT
+ */
+ case function_int_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dt*/
+ break;
+
+/****
+ *DINT_TO_REAL
+ */
+ case function_dint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_real*/
+ break;
+
+/****
+ *DINT_TO_LREAL
+ */
+ case function_dint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lreal*/
+ break;
+
+/****
+ *DINT_TO_SINT
+ */
+ case function_dint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_sint*/
+ break;
+
+/****
+ *DINT_TO_INT
+ */
+ case function_dint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_int*/
+ break;
+
+/****
+ *DINT_TO_LINT
+ */
+ case function_dint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lint*/
+ break;
+
+/****
+ *DINT_TO_USINT
+ */
+ case function_dint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_usint*/
+ break;
+
+/****
+ *DINT_TO_UINT
+ */
+ case function_dint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_uint*/
+ break;
+
+/****
+ *DINT_TO_UDINT
+ */
+ case function_dint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_udint*/
+ break;
+
+/****
+ *DINT_TO_ULINT
+ */
+ case function_dint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_ulint*/
+ break;
+
+/****
+ *DINT_TO_TIME
+ */
+ case function_dint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_time*/
+ break;
+
+/****
+ *DINT_TO_BOOL
+ */
+ case function_dint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_bool*/
+ break;
+
+/****
+ *DINT_TO_BYTE
+ */
+ case function_dint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_byte*/
+ break;
+
+/****
+ *DINT_TO_WORD
+ */
+ case function_dint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_word*/
+ break;
+
+/****
+ *DINT_TO_DWORD
+ */
+ case function_dint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_dword*/
+ break;
+
+/****
+ *DINT_TO_LWORD
+ */
+ case function_dint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lword*/
+ break;
+
+/****
+ *DINT_TO_STRING
+ */
+ case function_dint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_string*/
+ break;
+
+/****
+ *DINT_TO_WSTRING
+ */
+ case function_dint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_wstring*/
+ break;
+
+/****
+ *DINT_TO_DATE
+ */
+ case function_dint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_date*/
+ break;
+
+/****
+ *DINT_TO_TOD
+ */
+ case function_dint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_tod*/
+ break;
+
+/****
+ *DINT_TO_DT
+ */
+ case function_dint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_dt*/
+ break;
+
+/****
+ *LINT_TO_REAL
+ */
+ case function_lint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_real*/
+ break;
+
+/****
+ *LINT_TO_LREAL
+ */
+ case function_lint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_lreal*/
+ break;
+
+/****
+ *LINT_TO_SINT
+ */
+ case function_lint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_sint*/
+ break;
+
+/****
+ *LINT_TO_INT
+ */
+ case function_lint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_int*/
+ break;
+
+/****
+ *LINT_TO_DINT
+ */
+ case function_lint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dint*/
+ break;
+
+/****
+ *LINT_TO_USINT
+ */
+ case function_lint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_usint*/
+ break;
+
+/****
+ *LINT_TO_UINT
+ */
+ case function_lint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_uint*/
+ break;
+
+/****
+ *LINT_TO_UDINT
+ */
+ case function_lint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_udint*/
+ break;
+
+/****
+ *LINT_TO_ULINT
+ */
+ case function_lint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_ulint*/
+ break;
+
+/****
+ *LINT_TO_TIME
+ */
+ case function_lint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_time*/
+ break;
+
+/****
+ *LINT_TO_BOOL
+ */
+ case function_lint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_bool*/
+ break;
+
+/****
+ *LINT_TO_BYTE
+ */
+ case function_lint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_byte*/
+ break;
+
+/****
+ *LINT_TO_WORD
+ */
+ case function_lint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_word*/
+ break;
+
+/****
+ *LINT_TO_DWORD
+ */
+ case function_lint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dword*/
+ break;
+
+/****
+ *LINT_TO_LWORD
+ */
+ case function_lint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_lword*/
+ break;
+
+/****
+ *LINT_TO_STRING
+ */
+ case function_lint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_string*/
+ break;
+
+/****
+ *LINT_TO_WSTRING
+ */
+ case function_lint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_wstring*/
+ break;
+
+/****
+ *LINT_TO_DATE
+ */
+ case function_lint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_date*/
+ break;
+
+/****
+ *LINT_TO_TOD
+ */
+ case function_lint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_tod*/
+ break;
+
+/****
+ *LINT_TO_DT
+ */
+ case function_lint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dt*/
+ break;
+
+/****
+ *USINT_TO_REAL
+ */
+ case function_usint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_real*/
+ break;
+
+/****
+ *USINT_TO_LREAL
+ */
+ case function_usint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lreal*/
+ break;
+
+/****
+ *USINT_TO_SINT
+ */
+ case function_usint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_sint*/
+ break;
+
+/****
+ *USINT_TO_INT
+ */
+ case function_usint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_int*/
+ break;
+
+/****
+ *USINT_TO_DINT
+ */
+ case function_usint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dint*/
+ break;
+
+/****
+ *USINT_TO_LINT
+ */
+ case function_usint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lint*/
+ break;
+
+/****
+ *USINT_TO_UINT
+ */
+ case function_usint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_uint*/
+ break;
+
+/****
+ *USINT_TO_UDINT
+ */
+ case function_usint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_udint*/
+ break;
+
+/****
+ *USINT_TO_ULINT
+ */
+ case function_usint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_ulint*/
+ break;
+
+/****
+ *USINT_TO_TIME
+ */
+ case function_usint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_time*/
+ break;
+
+/****
+ *USINT_TO_BOOL
+ */
+ case function_usint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_bool*/
+ break;
+
+/****
+ *USINT_TO_BYTE
+ */
+ case function_usint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_byte*/
+ break;
+
+/****
+ *USINT_TO_WORD
+ */
+ case function_usint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_word*/
+ break;
+
+/****
+ *USINT_TO_DWORD
+ */
+ case function_usint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dword*/
+ break;
+
+/****
+ *USINT_TO_LWORD
+ */
+ case function_usint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lword*/
+ break;
+
+/****
+ *USINT_TO_STRING
+ */
+ case function_usint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_string*/
+ break;
+
+/****
+ *USINT_TO_WSTRING
+ */
+ case function_usint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_wstring*/
+ break;
+
+/****
+ *USINT_TO_DATE
+ */
+ case function_usint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_date*/
+ break;
+
+/****
+ *USINT_TO_TOD
+ */
+ case function_usint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_tod*/
+ break;
+
+/****
+ *USINT_TO_DT
+ */
+ case function_usint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dt*/
+ break;
+
+/****
+ *UINT_TO_REAL
+ */
+ case function_uint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_real*/
+ break;
+
+/****
+ *UINT_TO_LREAL
+ */
+ case function_uint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lreal*/
+ break;
+
+/****
+ *UINT_TO_SINT
+ */
+ case function_uint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_sint*/
+ break;
+
+/****
+ *UINT_TO_INT
+ */
+ case function_uint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_int*/
+ break;
+
+/****
+ *UINT_TO_DINT
+ */
+ case function_uint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dint*/
+ break;
+
+/****
+ *UINT_TO_LINT
+ */
+ case function_uint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lint*/
+ break;
+
+/****
+ *UINT_TO_USINT
+ */
+ case function_uint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_usint*/
+ break;
+
+/****
+ *UINT_TO_UDINT
+ */
+ case function_uint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_udint*/
+ break;
+
+/****
+ *UINT_TO_ULINT
+ */
+ case function_uint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_ulint*/
+ break;
+
+/****
+ *UINT_TO_TIME
+ */
+ case function_uint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_time*/
+ break;
+
+/****
+ *UINT_TO_BOOL
+ */
+ case function_uint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_bool*/
+ break;
+
+/****
+ *UINT_TO_BYTE
+ */
+ case function_uint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_byte*/
+ break;
+
+/****
+ *UINT_TO_WORD
+ */
+ case function_uint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_word*/
+ break;
+
+/****
+ *UINT_TO_DWORD
+ */
+ case function_uint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dword*/
+ break;
+
+/****
+ *UINT_TO_LWORD
+ */
+ case function_uint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lword*/
+ break;
+
+/****
+ *UINT_TO_STRING
+ */
+ case function_uint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_string*/
+ break;
+
+/****
+ *UINT_TO_WSTRING
+ */
+ case function_uint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_wstring*/
+ break;
+
+/****
+ *UINT_TO_DATE
+ */
+ case function_uint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_date*/
+ break;
+
+/****
+ *UINT_TO_TOD
+ */
+ case function_uint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_tod*/
+ break;
+
+/****
+ *UINT_TO_DT
+ */
+ case function_uint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dt*/
+ break;
+
+/****
+ *UDINT_TO_REAL
+ */
+ case function_udint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_real*/
+ break;
+
+/****
+ *UDINT_TO_LREAL
+ */
+ case function_udint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lreal*/
+ break;
+
+/****
+ *UDINT_TO_SINT
+ */
+ case function_udint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_sint*/
+ break;
+
+/****
+ *UDINT_TO_INT
+ */
+ case function_udint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_int*/
+ break;
+
+/****
+ *UDINT_TO_DINT
+ */
+ case function_udint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dint*/
+ break;
+
+/****
+ *UDINT_TO_LINT
+ */
+ case function_udint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lint*/
+ break;
+
+/****
+ *UDINT_TO_USINT
+ */
+ case function_udint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_usint*/
+ break;
+
+/****
+ *UDINT_TO_UINT
+ */
+ case function_udint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_uint*/
+ break;
+
+/****
+ *UDINT_TO_ULINT
+ */
+ case function_udint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_ulint*/
+ break;
+
+/****
+ *UDINT_TO_TIME
+ */
+ case function_udint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_time*/
+ break;
+
+/****
+ *UDINT_TO_BOOL
+ */
+ case function_udint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_bool*/
+ break;
+
+/****
+ *UDINT_TO_BYTE
+ */
+ case function_udint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_byte*/
+ break;
+
+/****
+ *UDINT_TO_WORD
+ */
+ case function_udint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_word*/
+ break;
+
+/****
+ *UDINT_TO_DWORD
+ */
+ case function_udint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dword*/
+ break;
+
+/****
+ *UDINT_TO_LWORD
+ */
+ case function_udint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lword*/
+ break;
+
+/****
+ *UDINT_TO_STRING
+ */
+ case function_udint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_string*/
+ break;
+
+/****
+ *UDINT_TO_WSTRING
+ */
+ case function_udint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_wstring*/
+ break;
+
+/****
+ *UDINT_TO_DATE
+ */
+ case function_udint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_date*/
+ break;
+
+/****
+ *UDINT_TO_TOD
+ */
+ case function_udint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_tod*/
+ break;
+
+/****
+ *UDINT_TO_DT
+ */
+ case function_udint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dt*/
+ break;
+
+/****
+ *ULINT_TO_REAL
+ */
+ case function_ulint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_real*/
+ break;
+
+/****
+ *ULINT_TO_LREAL
+ */
+ case function_ulint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lreal*/
+ break;
+
+/****
+ *ULINT_TO_SINT
+ */
+ case function_ulint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_sint*/
+ break;
+
+/****
+ *ULINT_TO_INT
+ */
+ case function_ulint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_int*/
+ break;
+
+/****
+ *ULINT_TO_DINT
+ */
+ case function_ulint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dint*/
+ break;
+
+/****
+ *ULINT_TO_LINT
+ */
+ case function_ulint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lint*/
+ break;
+
+/****
+ *ULINT_TO_USINT
+ */
+ case function_ulint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_usint*/
+ break;
+
+/****
+ *ULINT_TO_UINT
+ */
+ case function_ulint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_uint*/
+ break;
+
+/****
+ *ULINT_TO_UDINT
+ */
+ case function_ulint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_udint*/
+ break;
+
+/****
+ *ULINT_TO_TIME
+ */
+ case function_ulint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_time*/
+ break;
+
+/****
+ *ULINT_TO_BOOL
+ */
+ case function_ulint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_bool*/
+ break;
+
+/****
+ *ULINT_TO_BYTE
+ */
+ case function_ulint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_byte*/
+ break;
+
+/****
+ *ULINT_TO_WORD
+ */
+ case function_ulint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_word*/
+ break;
+
+/****
+ *ULINT_TO_DWORD
+ */
+ case function_ulint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dword*/
+ break;
+
+/****
+ *ULINT_TO_LWORD
+ */
+ case function_ulint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lword*/
+ break;
+
+/****
+ *ULINT_TO_STRING
+ */
+ case function_ulint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_string*/
+ break;
+
+/****
+ *ULINT_TO_WSTRING
+ */
+ case function_ulint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_wstring*/
+ break;
+
+/****
+ *ULINT_TO_DATE
+ */
+ case function_ulint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_date*/
+ break;
+
+/****
+ *ULINT_TO_TOD
+ */
+ case function_ulint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_tod*/
+ break;
+
+/****
+ *ULINT_TO_DT
+ */
+ case function_ulint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dt*/
+ break;
+
+/****
+ *TIME_TO_REAL
+ */
+ case function_time_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_real*/
+ break;
+
+/****
+ *TIME_TO_LREAL
+ */
+ case function_time_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lreal*/
+ break;
+
+/****
+ *TIME_TO_SINT
+ */
+ case function_time_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_sint*/
+ break;
+
+/****
+ *TIME_TO_INT
+ */
+ case function_time_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_int*/
+ break;
+
+/****
+ *TIME_TO_DINT
+ */
+ case function_time_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_dint*/
+ break;
+
+/****
+ *TIME_TO_LINT
+ */
+ case function_time_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lint*/
+ break;
+
+/****
+ *TIME_TO_USINT
+ */
+ case function_time_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_usint*/
+ break;
+
+/****
+ *TIME_TO_UINT
+ */
+ case function_time_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_uint*/
+ break;
+
+/****
+ *TIME_TO_UDINT
+ */
+ case function_time_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_udint*/
+ break;
+
+/****
+ *TIME_TO_ULINT
+ */
+ case function_time_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_ulint*/
+ break;
+
+/****
+ *TIME_TO_BOOL
+ */
+ case function_time_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_bool*/
+ break;
+
+/****
+ *TIME_TO_BYTE
+ */
+ case function_time_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_byte*/
+ break;
+
+/****
+ *TIME_TO_WORD
+ */
+ case function_time_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_word*/
+ break;
+
+/****
+ *TIME_TO_DWORD
+ */
+ case function_time_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_dword*/
+ break;
+
+/****
+ *TIME_TO_LWORD
+ */
+ case function_time_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lword*/
+ break;
+
+/****
+ *TIME_TO_STRING
+ */
+ case function_time_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_string*/
+ break;
+
+/****
+ *TIME_TO_WSTRING
+ */
+ case function_time_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_wstring*/
+ break;
+
+/****
+ *BOOL_TO_REAL
+ */
+ case function_bool_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_real*/
+ break;
+
+/****
+ *BOOL_TO_LREAL
+ */
+ case function_bool_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lreal*/
+ break;
+
+/****
+ *BOOL_TO_SINT
+ */
+ case function_bool_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_sint*/
+ break;
+
+/****
+ *BOOL_TO_INT
+ */
+ case function_bool_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_int*/
+ break;
+
+/****
+ *BOOL_TO_DINT
+ */
+ case function_bool_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dint*/
+ break;
+
+/****
+ *BOOL_TO_LINT
+ */
+ case function_bool_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lint*/
+ break;
+
+/****
+ *BOOL_TO_USINT
+ */
+ case function_bool_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_usint*/
+ break;
+
+/****
+ *BOOL_TO_UINT
+ */
+ case function_bool_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_uint*/
+ break;
+
+/****
+ *BOOL_TO_UDINT
+ */
+ case function_bool_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_udint*/
+ break;
+
+/****
+ *BOOL_TO_ULINT
+ */
+ case function_bool_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_ulint*/
+ break;
+
+/****
+ *BOOL_TO_TIME
+ */
+ case function_bool_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_time*/
+ break;
+
+/****
+ *BOOL_TO_BYTE
+ */
+ case function_bool_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_byte*/
+ break;
+
+/****
+ *BOOL_TO_WORD
+ */
+ case function_bool_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_word*/
+ break;
+
+/****
+ *BOOL_TO_DWORD
+ */
+ case function_bool_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dword*/
+ break;
+
+/****
+ *BOOL_TO_LWORD
+ */
+ case function_bool_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lword*/
+ break;
+
+/****
+ *BOOL_TO_STRING
+ */
+ case function_bool_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_string*/
+ break;
+
+/****
+ *BOOL_TO_WSTRING
+ */
+ case function_bool_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_wstring*/
+ break;
+
+/****
+ *BOOL_TO_DATE
+ */
+ case function_bool_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_date*/
+ break;
+
+/****
+ *BOOL_TO_TOD
+ */
+ case function_bool_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_tod*/
+ break;
+
+/****
+ *BOOL_TO_DT
+ */
+ case function_bool_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dt*/
+ break;
+
+/****
+ *BYTE_TO_REAL
+ */
+ case function_byte_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_real*/
+ break;
+
+/****
+ *BYTE_TO_LREAL
+ */
+ case function_byte_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lreal*/
+ break;
+
+/****
+ *BYTE_TO_SINT
+ */
+ case function_byte_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_sint*/
+ break;
+
+/****
+ *BYTE_TO_INT
+ */
+ case function_byte_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_int*/
+ break;
+
+/****
+ *BYTE_TO_DINT
+ */
+ case function_byte_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dint*/
+ break;
+
+/****
+ *BYTE_TO_LINT
+ */
+ case function_byte_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lint*/
+ break;
+
+/****
+ *BYTE_TO_USINT
+ */
+ case function_byte_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_usint*/
+ break;
+
+/****
+ *BYTE_TO_UINT
+ */
+ case function_byte_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_uint*/
+ break;
+
+/****
+ *BYTE_TO_UDINT
+ */
+ case function_byte_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_udint*/
+ break;
+
+/****
+ *BYTE_TO_ULINT
+ */
+ case function_byte_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_ulint*/
+ break;
+
+/****
+ *BYTE_TO_TIME
+ */
+ case function_byte_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_time*/
+ break;
+
+/****
+ *BYTE_TO_BOOL
+ */
+ case function_byte_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_bool*/
+ break;
+
+/****
+ *BYTE_TO_WORD
+ */
+ case function_byte_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_word*/
+ break;
+
+/****
+ *BYTE_TO_DWORD
+ */
+ case function_byte_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dword*/
+ break;
+
+/****
+ *BYTE_TO_LWORD
+ */
+ case function_byte_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lword*/
+ break;
+
+/****
+ *BYTE_TO_STRING
+ */
+ case function_byte_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_string*/
+ break;
+
+/****
+ *BYTE_TO_WSTRING
+ */
+ case function_byte_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_wstring*/
+ break;
+
+/****
+ *BYTE_TO_DATE
+ */
+ case function_byte_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_date*/
+ break;
+
+/****
+ *BYTE_TO_TOD
+ */
+ case function_byte_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_tod*/
+ break;
+
+/****
+ *BYTE_TO_DT
+ */
+ case function_byte_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dt*/
+ break;
+
+/****
+ *WORD_TO_REAL
+ */
+ case function_word_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_real*/
+ break;
+
+/****
+ *WORD_TO_LREAL
+ */
+ case function_word_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lreal*/
+ break;
+
+/****
+ *WORD_TO_SINT
+ */
+ case function_word_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_sint*/
+ break;
+
+/****
+ *WORD_TO_INT
+ */
+ case function_word_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_int*/
+ break;
+
+/****
+ *WORD_TO_DINT
+ */
+ case function_word_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dint*/
+ break;
+
+/****
+ *WORD_TO_LINT
+ */
+ case function_word_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lint*/
+ break;
+
+/****
+ *WORD_TO_USINT
+ */
+ case function_word_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_usint*/
+ break;
+
+/****
+ *WORD_TO_UINT
+ */
+ case function_word_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_uint*/
+ break;
+
+/****
+ *WORD_TO_UDINT
+ */
+ case function_word_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_udint*/
+ break;
+
+/****
+ *WORD_TO_ULINT
+ */
+ case function_word_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_ulint*/
+ break;
+
+/****
+ *WORD_TO_TIME
+ */
+ case function_word_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_time*/
+ break;
+
+/****
+ *WORD_TO_BOOL
+ */
+ case function_word_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_bool*/
+ break;
+
+/****
+ *WORD_TO_BYTE
+ */
+ case function_word_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_byte*/
+ break;
+
+/****
+ *WORD_TO_DWORD
+ */
+ case function_word_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dword*/
+ break;
+
+/****
+ *WORD_TO_LWORD
+ */
+ case function_word_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lword*/
+ break;
+
+/****
+ *WORD_TO_STRING
+ */
+ case function_word_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_string*/
+ break;
+
+/****
+ *WORD_TO_WSTRING
+ */
+ case function_word_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_wstring*/
+ break;
+
+/****
+ *WORD_TO_DATE
+ */
+ case function_word_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_date*/
+ break;
+
+/****
+ *WORD_TO_TOD
+ */
+ case function_word_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_tod*/
+ break;
+
+/****
+ *WORD_TO_DT
+ */
+ case function_word_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dt*/
+ break;
+
+/****
+ *DWORD_TO_REAL
+ */
+ case function_dword_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_real*/
+ break;
+
+/****
+ *DWORD_TO_LREAL
+ */
+ case function_dword_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lreal*/
+ break;
+
+/****
+ *DWORD_TO_SINT
+ */
+ case function_dword_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_sint*/
+ break;
+
+/****
+ *DWORD_TO_INT
+ */
+ case function_dword_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_int*/
+ break;
+
+/****
+ *DWORD_TO_DINT
+ */
+ case function_dword_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_dint*/
+ break;
+
+/****
+ *DWORD_TO_LINT
+ */
+ case function_dword_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lint*/
+ break;
+
+/****
+ *DWORD_TO_USINT
+ */
+ case function_dword_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_usint*/
+ break;
+
+/****
+ *DWORD_TO_UINT
+ */
+ case function_dword_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_uint*/
+ break;
+
+/****
+ *DWORD_TO_UDINT
+ */
+ case function_dword_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_udint*/
+ break;
+
+/****
+ *DWORD_TO_ULINT
+ */
+ case function_dword_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_ulint*/
+ break;
+
+/****
+ *DWORD_TO_TIME
+ */
+ case function_dword_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_time*/
+ break;
+
+/****
+ *DWORD_TO_BOOL
+ */
+ case function_dword_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_bool*/
+ break;
+
+/****
+ *DWORD_TO_BYTE
+ */
+ case function_dword_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_byte*/
+ break;
+
+/****
+ *DWORD_TO_WORD
+ */
+ case function_dword_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_word*/
+ break;
+
+/****
+ *DWORD_TO_LWORD
+ */
+ case function_dword_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lword*/
+ break;
+
+/****
+ *DWORD_TO_STRING
+ */
+ case function_dword_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_string*/
+ break;
+
+/****
+ *DWORD_TO_WSTRING
+ */
+ case function_dword_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_wstring*/
+ break;
+
+/****
+ *DWORD_TO_DATE
+ */
+ case function_dword_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_date*/
+ break;
+
+/****
+ *DWORD_TO_TOD
+ */
+ case function_dword_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_tod*/
+ break;
+
+/****
+ *DWORD_TO_DT
+ */
+ case function_dword_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_dt*/
+ break;
+
+/****
+ *LWORD_TO_REAL
+ */
+ case function_lword_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_real*/
+ break;
+
+/****
+ *LWORD_TO_LREAL
+ */
+ case function_lword_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_lreal*/
+ break;
+
+/****
+ *LWORD_TO_SINT
+ */
+ case function_lword_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_sint*/
+ break;
+
+/****
+ *LWORD_TO_INT
+ */
+ case function_lword_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_int*/
+ break;
+
+/****
+ *LWORD_TO_DINT
+ */
+ case function_lword_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dint*/
+ break;
+
+/****
+ *LWORD_TO_LINT
+ */
+ case function_lword_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_lint*/
+ break;
+
+/****
+ *LWORD_TO_USINT
+ */
+ case function_lword_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_usint*/
+ break;
+
+/****
+ *LWORD_TO_UINT
+ */
+ case function_lword_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_uint*/
+ break;
+
+/****
+ *LWORD_TO_UDINT
+ */
+ case function_lword_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_udint*/
+ break;
+
+/****
+ *LWORD_TO_ULINT
+ */
+ case function_lword_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_ulint*/
+ break;
+
+/****
+ *LWORD_TO_TIME
+ */
+ case function_lword_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_time*/
+ break;
+
+/****
+ *LWORD_TO_BOOL
+ */
+ case function_lword_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_bool*/
+ break;
+
+/****
+ *LWORD_TO_BYTE
+ */
+ case function_lword_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_byte*/
+ break;
+
+/****
+ *LWORD_TO_WORD
+ */
+ case function_lword_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_word*/
+ break;
+
+/****
+ *LWORD_TO_DWORD
+ */
+ case function_lword_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dword*/
+ break;
+
+/****
+ *LWORD_TO_STRING
+ */
+ case function_lword_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_string*/
+ break;
+
+/****
+ *LWORD_TO_WSTRING
+ */
+ case function_lword_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_wstring*/
+ break;
+
+/****
+ *LWORD_TO_DATE
+ */
+ case function_lword_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_date*/
+ break;
+
+/****
+ *LWORD_TO_TOD
+ */
+ case function_lword_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_tod*/
+ break;
+
+/****
+ *LWORD_TO_DT
+ */
+ case function_lword_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dt*/
+ break;
+
+/****
+ *STRING_TO_REAL
+ */
+ case function_string_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_real*/
+ break;
+
+/****
+ *STRING_TO_LREAL
+ */
+ case function_string_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lreal*/
+ break;
+
+/****
+ *STRING_TO_SINT
+ */
+ case function_string_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_sint*/
+ break;
+
+/****
+ *STRING_TO_INT
+ */
+ case function_string_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_int*/
+ break;
+
+/****
+ *STRING_TO_DINT
+ */
+ case function_string_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dint*/
+ break;
+
+/****
+ *STRING_TO_LINT
+ */
+ case function_string_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lint*/
+ break;
+
+/****
+ *STRING_TO_USINT
+ */
+ case function_string_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_usint*/
+ break;
+
+/****
+ *STRING_TO_UINT
+ */
+ case function_string_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_uint*/
+ break;
+
+/****
+ *STRING_TO_UDINT
+ */
+ case function_string_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_udint*/
+ break;
+
+/****
+ *STRING_TO_ULINT
+ */
+ case function_string_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_ulint*/
+ break;
+
+/****
+ *STRING_TO_TIME
+ */
+ case function_string_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_time*/
+ break;
+
+/****
+ *STRING_TO_BOOL
+ */
+ case function_string_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_bool*/
+ break;
+
+/****
+ *STRING_TO_BYTE
+ */
+ case function_string_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_byte*/
+ break;
+
+/****
+ *STRING_TO_WORD
+ */
+ case function_string_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_word*/
+ break;
+
+/****
+ *STRING_TO_DWORD
+ */
+ case function_string_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dword*/
+ break;
+
+/****
+ *STRING_TO_LWORD
+ */
+ case function_string_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lword*/
+ break;
+
+/****
+ *STRING_TO_DATE
+ */
+ case function_string_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_date*/
+ break;
+
+/****
+ *STRING_TO_TOD
+ */
+ case function_string_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_tod*/
+ break;
+
+/****
+ *STRING_TO_DT
+ */
+ case function_string_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dt*/
+ break;
+
+/****
+ *WSTRING_TO_REAL
+ */
+ case function_wstring_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_real*/
+ break;
+
+/****
+ *WSTRING_TO_LREAL
+ */
+ case function_wstring_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lreal*/
+ break;
+
+/****
+ *WSTRING_TO_SINT
+ */
+ case function_wstring_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_sint*/
+ break;
+
+/****
+ *WSTRING_TO_INT
+ */
+ case function_wstring_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_int*/
+ break;
+
+/****
+ *WSTRING_TO_DINT
+ */
+ case function_wstring_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dint*/
+ break;
+
+/****
+ *WSTRING_TO_LINT
+ */
+ case function_wstring_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lint*/
+ break;
+
+/****
+ *WSTRING_TO_USINT
+ */
+ case function_wstring_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_usint*/
+ break;
+
+/****
+ *WSTRING_TO_UINT
+ */
+ case function_wstring_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_uint*/
+ break;
+
+/****
+ *WSTRING_TO_UDINT
+ */
+ case function_wstring_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_udint*/
+ break;
+
+/****
+ *WSTRING_TO_ULINT
+ */
+ case function_wstring_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_ulint*/
+ break;
+
+/****
+ *WSTRING_TO_TIME
+ */
+ case function_wstring_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_time*/
+ break;
+
+/****
+ *WSTRING_TO_BOOL
+ */
+ case function_wstring_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_bool*/
+ break;
+
+/****
+ *WSTRING_TO_BYTE
+ */
+ case function_wstring_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_byte*/
+ break;
+
+/****
+ *WSTRING_TO_WORD
+ */
+ case function_wstring_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_word*/
+ break;
+
+/****
+ *WSTRING_TO_DWORD
+ */
+ case function_wstring_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dword*/
+ break;
+
+/****
+ *WSTRING_TO_LWORD
+ */
+ case function_wstring_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lword*/
+ break;
+
+/****
+ *WSTRING_TO_DATE
+ */
+ case function_wstring_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_date*/
+ break;
+
+/****
+ *WSTRING_TO_TOD
+ */
+ case function_wstring_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_tod*/
+ break;
+
+/****
+ *WSTRING_TO_DT
+ */
+ case function_wstring_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dt*/
+ break;
+
+/****
+ *DATE_TO_REAL
+ */
+ case function_date_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_real*/
+ break;
+
+/****
+ *DATE_TO_LREAL
+ */
+ case function_date_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lreal*/
+ break;
+
+/****
+ *DATE_TO_SINT
+ */
+ case function_date_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_sint*/
+ break;
+
+/****
+ *DATE_TO_INT
+ */
+ case function_date_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_int*/
+ break;
+
+/****
+ *DATE_TO_DINT
+ */
+ case function_date_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_dint*/
+ break;
+
+/****
+ *DATE_TO_LINT
+ */
+ case function_date_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lint*/
+ break;
+
+/****
+ *DATE_TO_USINT
+ */
+ case function_date_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_usint*/
+ break;
+
+/****
+ *DATE_TO_UINT
+ */
+ case function_date_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_uint*/
+ break;
+
+/****
+ *DATE_TO_UDINT
+ */
+ case function_date_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_udint*/
+ break;
+
+/****
+ *DATE_TO_ULINT
+ */
+ case function_date_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_ulint*/
+ break;
+
+/****
+ *DATE_TO_BOOL
+ */
+ case function_date_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_bool*/
+ break;
+
+/****
+ *DATE_TO_BYTE
+ */
+ case function_date_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_byte*/
+ break;
+
+/****
+ *DATE_TO_WORD
+ */
+ case function_date_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_word*/
+ break;
+
+/****
+ *DATE_TO_DWORD
+ */
+ case function_date_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_dword*/
+ break;
+
+/****
+ *DATE_TO_LWORD
+ */
+ case function_date_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lword*/
+ break;
+
+/****
+ *DATE_TO_STRING
+ */
+ case function_date_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_string*/
+ break;
+
+/****
+ *DATE_TO_WSTRING
+ */
+ case function_date_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_wstring*/
+ break;
+
+/****
+ *TOD_TO_REAL
+ */
+ case function_tod_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_real*/
+ break;
+
+/****
+ *TOD_TO_LREAL
+ */
+ case function_tod_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lreal*/
+ break;
+
+/****
+ *TOD_TO_SINT
+ */
+ case function_tod_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_sint*/
+ break;
+
+/****
+ *TOD_TO_INT
+ */
+ case function_tod_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_int*/
+ break;
+
+/****
+ *TOD_TO_DINT
+ */
+ case function_tod_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_dint*/
+ break;
+
+/****
+ *TOD_TO_LINT
+ */
+ case function_tod_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lint*/
+ break;
+
+/****
+ *TOD_TO_USINT
+ */
+ case function_tod_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_usint*/
+ break;
+
+/****
+ *TOD_TO_UINT
+ */
+ case function_tod_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_uint*/
+ break;
+
+/****
+ *TOD_TO_UDINT
+ */
+ case function_tod_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_udint*/
+ break;
+
+/****
+ *TOD_TO_ULINT
+ */
+ case function_tod_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_ulint*/
+ break;
+
+/****
+ *TOD_TO_BOOL
+ */
+ case function_tod_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_bool*/
+ break;
+
+/****
+ *TOD_TO_BYTE
+ */
+ case function_tod_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_byte*/
+ break;
+
+/****
+ *TOD_TO_WORD
+ */
+ case function_tod_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_word*/
+ break;
+
+/****
+ *TOD_TO_DWORD
+ */
+ case function_tod_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_dword*/
+ break;
+
+/****
+ *TOD_TO_LWORD
+ */
+ case function_tod_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lword*/
+ break;
+
+/****
+ *TOD_TO_STRING
+ */
+ case function_tod_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_string*/
+ break;
+
+/****
+ *TOD_TO_WSTRING
+ */
+ case function_tod_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_wstring*/
+ break;
+
+/****
+ *DT_TO_REAL
+ */
+ case function_dt_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_real*/
+ break;
+
+/****
+ *DT_TO_LREAL
+ */
+ case function_dt_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lreal*/
+ break;
+
+/****
+ *DT_TO_SINT
+ */
+ case function_dt_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_sint*/
+ break;
+
+/****
+ *DT_TO_INT
+ */
+ case function_dt_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_int*/
+ break;
+
+/****
+ *DT_TO_DINT
+ */
+ case function_dt_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_dint*/
+ break;
+
+/****
+ *DT_TO_LINT
+ */
+ case function_dt_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lint*/
+ break;
+
+/****
+ *DT_TO_USINT
+ */
+ case function_dt_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_usint*/
+ break;
+
+/****
+ *DT_TO_UINT
+ */
+ case function_dt_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_uint*/
+ break;
+
+/****
+ *DT_TO_UDINT
+ */
+ case function_dt_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_udint*/
+ break;
+
+/****
+ *DT_TO_ULINT
+ */
+ case function_dt_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_ulint*/
+ break;
+
+/****
+ *DT_TO_BOOL
+ */
+ case function_dt_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_bool*/
+ break;
+
+/****
+ *DT_TO_BYTE
+ */
+ case function_dt_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_byte*/
+ break;
+
+/****
+ *DT_TO_WORD
+ */
+ case function_dt_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_word*/
+ break;
+
+/****
+ *DT_TO_DWORD
+ */
+ case function_dt_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_dword*/
+ break;
+
+/****
+ *DT_TO_LWORD
+ */
+ case function_dt_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lword*/
+ break;
+
+/****
+ *DT_TO_STRING
+ */
+ case function_dt_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_string*/
+ break;
+
+/****
+ *DT_TO_WSTRING
+ */
+ case function_dt_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_wstring*/
+ break;
+
+/****
+ *TRUNC
+ */
+ case function_trunc :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_trunc*/
+ break;
+
+/****
+ *BCD_TO_SINT
+ */
+ case function_bcd_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_sint*/
+ break;
+
+/****
+ *BCD_TO_INT
+ */
+ case function_bcd_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_int*/
+ break;
+
+/****
+ *BCD_TO_DINT
+ */
+ case function_bcd_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_dint*/
+ break;
+
+/****
+ *BCD_TO_LINT
+ */
+ case function_bcd_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_lint*/
+ break;
+
+/****
+ *BCD_TO_USINT
+ */
+ case function_bcd_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_usint*/
+ break;
+
+/****
+ *BCD_TO_UINT
+ */
+ case function_bcd_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_uint*/
+ break;
+
+/****
+ *BCD_TO_UDINT
+ */
+ case function_bcd_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_udint*/
+ break;
+
+/****
+ *BCD_TO_ULINT
+ */
+ case function_bcd_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_ulint*/
+ break;
+
+/****
+ *SINT_TO_BCD
+ */
+ case function_sint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_bcd*/
+ break;
+
+/****
+ *INT_TO_BCD
+ */
+ case function_int_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_bcd*/
+ break;
+
+/****
+ *DINT_TO_BCD
+ */
+ case function_dint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_bcd*/
+ break;
+
+/****
+ *LINT_TO_BCD
+ */
+ case function_lint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_bcd*/
+ break;
+
+/****
+ *USINT_TO_BCD
+ */
+ case function_usint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_bcd*/
+ break;
+
+/****
+ *UINT_TO_BCD
+ */
+ case function_uint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_bcd*/
+ break;
+
+/****
+ *UDINT_TO_BCD
+ */
+ case function_udint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_bcd*/
+ break;
+
+/****
+ *ULINT_TO_BCD
+ */
+ case function_ulint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_bcd*/
+ break;
+
+/****
+ *DATE_AND_TIME_TO_TIME_OF_DAY
+ */
+ case function_date_and_time_to_time_of_day :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_and_time_to_time_of_day*/
+ break;
+
+/****
+ *DATE_AND_TIME_TO_DATE
+ */
+ case function_date_and_time_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_and_time_to_date*/
+ break;
+
+/****
+ *ABS
+ */
+ case function_abs :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_abs*/
+ break;
+
+/****
+ *SQRT
+ */
+ case function_sqrt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sqrt*/
+ break;
+
+/****
+ *LN
+ */
+ case function_ln :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ln*/
+ break;
+
+/****
+ *LOG
+ */
+ case function_log :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_log*/
+ break;
+
+/****
+ *EXP
+ */
+ case function_exp :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_exp*/
+ break;
+
+/****
+ *SIN
+ */
+ case function_sin :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sin*/
+ break;
+
+/****
+ *COS
+ */
+ case function_cos :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_cos*/
+ break;
+
+/****
+ *TAN
+ */
+ case function_tan :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tan*/
+ break;
+
+/****
+ *ASIN
+ */
+ case function_asin :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_asin*/
+ break;
+
+/****
+ *ACOS
+ */
+ case function_acos :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_acos*/
+ break;
+
+/****
+ *ATAN
+ */
+ case function_atan :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_atan*/
+ break;
+
+/****
+ *ADD
+ */
+ case function_add :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_add*/
+ break;
+
+/****
+ *MUL
+ */
+ case function_mul :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mul*/
+ break;
+
+/****
+ *SUB
+ */
+ case function_sub :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sub*/
+ break;
+
+/****
+ *DIV
+ */
+ case function_div :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_div*/
+ break;
+
+/****
+ *MOD
+ */
+ case function_mod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mod*/
+ break;
+
+/****
+ *EXPT
+ */
+ case function_expt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_expt*/
+ break;
+
+/****
+ *MOVE
+ */
+ case function_move :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_move*/
+ break;
+
+/****
+ *SHL
+ */
+ case function_shl :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_shl*/
+ break;
+
+/****
+ *SHR
+ */
+ case function_shr :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_shr*/
+ break;
+
+/****
+ *ROR
+ */
+ case function_ror :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ror*/
+ break;
+
+/****
+ *ROL
+ */
+ case function_rol :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_rol*/
+ break;
+
+/****
+ *AND
+ */
+ case function_and :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_and*/
+ break;
+
+/****
+ *OR
+ */
+ case function_or :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_or*/
+ break;
+
+/****
+ *XOR
+ */
+ case function_xor :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_xor*/
+ break;
+
+/****
+ *NOT
+ */
+ case function_not :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_not*/
+ break;
+
+/****
+ *SEL
+ */
+ case function_sel :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("G");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *G_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (G_param_value == NULL)
+ G_param_value = function_call_param_iterator.next();
+ symbol_c *G_type_symbol = search_expression_type->get_type(G_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(G_type_symbol, last_type_symbol) ? search_expression_type->common_type(G_type_symbol, last_type_symbol) : G_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN0");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN0_param_value == NULL)
+ IN0_param_value = function_call_param_iterator.next();
+ symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sel*/
+ break;
+
+/****
+ *MAX
+ */
+ case function_max :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_max*/
+ break;
+
+/****
+ *MIN
+ */
+ case function_min :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_min*/
+ break;
+
+/****
+ *LIMIT
+ */
+ case function_limit :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("MN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *MN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (MN_param_value == NULL)
+ MN_param_value = function_call_param_iterator.next();
+ symbol_c *MN_type_symbol = search_expression_type->get_type(MN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MN_type_symbol, last_type_symbol) ? search_expression_type->common_type(MN_type_symbol, last_type_symbol) : MN_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("MX");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *MX_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (MX_param_value == NULL)
+ MX_param_value = function_call_param_iterator.next();
+ symbol_c *MX_type_symbol = search_expression_type->get_type(MX_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_limit*/
+ break;
+
+/****
+ *MUX
+ */
+ case function_mux :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("K");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *K_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (K_param_value == NULL)
+ K_param_value = function_call_param_iterator.next();
+ symbol_c *K_type_symbol = search_expression_type->get_type(K_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(K_type_symbol, last_type_symbol) ? search_expression_type->common_type(K_type_symbol, last_type_symbol) : K_type_symbol ;
+
+ if(search_expression_type->is_integer_type(K_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN0");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN0_param_value == NULL)
+ IN0_param_value = function_call_param_iterator.next();
+ symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mux*/
+ break;
+
+/****
+ *GT
+ */
+ case function_gt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_gt*/
+ break;
+
+/****
+ *GE
+ */
+ case function_ge :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ge*/
+ break;
+
+/****
+ *EQ
+ */
+ case function_eq :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_eq*/
+ break;
+
+/****
+ *LT
+ */
+ case function_lt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lt*/
+ break;
+
+/****
+ *LE
+ */
+ case function_le :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_le*/
+ break;
+
+/****
+ *NE
+ */
+ case function_ne :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ne*/
+ break;
+
+/****
+ *LEN
+ */
+ case function_len :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_len*/
+ break;
+
+/****
+ *LEFT
+ */
+ case function_left :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_left*/
+ break;
+
+/****
+ *RIGHT
+ */
+ case function_right :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_right*/
+ break;
+
+/****
+ *MID
+ */
+ case function_mid :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mid*/
+ break;
+
+/****
+ *CONCAT
+ */
+ case function_concat :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_concat*/
+ break;
+
+/****
+ *INSERT
+ */
+ case function_insert :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_insert*/
+ break;
+
+/****
+ *DELETE
+ */
+ case function_delete :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_delete*/
+ break;
+
+/****
+ *REPLACE
+ */
+ case function_replace :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_replace*/
+ break;
+
+/****
+ *FIND
+ */
+ case function_find :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_find*/
+ break;
+
+ case function_none :
+ ERROR;
+ }
+ return NULL;
+}
+
+void *compute_standard_function_il(il_function_call_c *symbol, symbol_c *param_data_type) {
+
+ function_type_t current_function_type = get_function_type((identifier_c *)symbol->function_name);
+ function_call_param_iterator_c function_call_param_iterator(symbol);
+ search_expression_type_c* search_expression_type = this;
+
+ switch(current_function_type){
+
+/****
+ *REAL_TO_LREAL
+ */
+ case function_real_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lreal*/
+ break;
+
+/****
+ *REAL_TO_SINT
+ */
+ case function_real_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_sint*/
+ break;
+
+/****
+ *REAL_TO_INT
+ */
+ case function_real_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_int*/
+ break;
/****
*REAL_TO_DINT
*/
- case function_real_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_dint*/
- break;
+ case function_real_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dint*/
+ break;
+
+/****
+ *REAL_TO_LINT
+ */
+ case function_real_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lint*/
+ break;
+
+/****
+ *REAL_TO_USINT
+ */
+ case function_real_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_usint*/
+ break;
+
+/****
+ *REAL_TO_UINT
+ */
+ case function_real_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_uint*/
+ break;
+
+/****
+ *REAL_TO_UDINT
+ */
+ case function_real_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_udint*/
+ break;
+
+/****
+ *REAL_TO_ULINT
+ */
+ case function_real_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_ulint*/
+ break;
+
+/****
+ *REAL_TO_TIME
+ */
+ case function_real_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_time*/
+ break;
+
+/****
+ *REAL_TO_BOOL
+ */
+ case function_real_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_bool*/
+ break;
+
+/****
+ *REAL_TO_BYTE
+ */
+ case function_real_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_byte*/
+ break;
+
+/****
+ *REAL_TO_WORD
+ */
+ case function_real_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_word*/
+ break;
+
+/****
+ *REAL_TO_DWORD
+ */
+ case function_real_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dword*/
+ break;
+
+/****
+ *REAL_TO_LWORD
+ */
+ case function_real_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lword*/
+ break;
+
+/****
+ *REAL_TO_STRING
+ */
+ case function_real_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_string*/
+ break;
+
+/****
+ *REAL_TO_WSTRING
+ */
+ case function_real_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_wstring*/
+ break;
/****
*REAL_TO_DATE
*/
- case function_real_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_date*/
- break;
-
-/****
- *REAL_TO_DWORD
- */
- case function_real_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_dword*/
- break;
+ case function_real_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_date*/
+ break;
+
+/****
+ *REAL_TO_TOD
+ */
+ case function_real_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_tod*/
+ break;
/****
*REAL_TO_DT
*/
- case function_real_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_dt*/
- break;
-
-/****
- *REAL_TO_TOD
- */
- case function_real_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_tod*/
- break;
-
-/****
- *REAL_TO_UDINT
- */
- case function_real_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_udint*/
- break;
-
-/****
- *REAL_TO_WORD
- */
- case function_real_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_word*/
- break;
-
-/****
- *REAL_TO_WSTRING
- */
- case function_real_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_wstring*/
- break;
-
-/****
- *REAL_TO_STRING
- */
- case function_real_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_string*/
- break;
-
-/****
- *REAL_TO_LWORD
- */
- case function_real_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_lword*/
- break;
-
-/****
- *REAL_TO_UINT
- */
- case function_real_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_uint*/
- break;
-
-/****
- *REAL_TO_LREAL
- */
- case function_real_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_lreal*/
- break;
-
-/****
- *REAL_TO_BYTE
- */
- case function_real_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_byte*/
- break;
-
-/****
- *REAL_TO_USINT
- */
- case function_real_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_usint*/
- break;
-
-/****
- *REAL_TO_ULINT
- */
- case function_real_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_ulint*/
- break;
-
-/****
- *REAL_TO_BOOL
- */
- case function_real_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_bool*/
- break;
-
-/****
- *REAL_TO_TIME
- */
- case function_real_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_time*/
- break;
-
-/****
- *REAL_TO_INT
- */
- case function_real_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_int*/
- break;
+ case function_real_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dt*/
+ break;
+
+/****
+ *LREAL_TO_REAL
+ */
+ case function_lreal_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_real*/
+ break;
+
+/****
+ *LREAL_TO_SINT
+ */
+ case function_lreal_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_sint*/
+ break;
+
+/****
+ *LREAL_TO_INT
+ */
+ case function_lreal_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_int*/
+ break;
+
+/****
+ *LREAL_TO_DINT
+ */
+ case function_lreal_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dint*/
+ break;
+
+/****
+ *LREAL_TO_LINT
+ */
+ case function_lreal_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_lint*/
+ break;
+
+/****
+ *LREAL_TO_USINT
+ */
+ case function_lreal_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_usint*/
+ break;
+
+/****
+ *LREAL_TO_UINT
+ */
+ case function_lreal_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_uint*/
+ break;
+
+/****
+ *LREAL_TO_UDINT
+ */
+ case function_lreal_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_udint*/
+ break;
+
+/****
+ *LREAL_TO_ULINT
+ */
+ case function_lreal_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_ulint*/
+ break;
+
+/****
+ *LREAL_TO_TIME
+ */
+ case function_lreal_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_time*/
+ break;
+
+/****
+ *LREAL_TO_BOOL
+ */
+ case function_lreal_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_bool*/
+ break;
+
+/****
+ *LREAL_TO_BYTE
+ */
+ case function_lreal_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_byte*/
+ break;
+
+/****
+ *LREAL_TO_WORD
+ */
+ case function_lreal_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_word*/
+ break;
+
+/****
+ *LREAL_TO_DWORD
+ */
+ case function_lreal_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dword*/
+ break;
+
+/****
+ *LREAL_TO_LWORD
+ */
+ case function_lreal_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_lword*/
+ break;
+
+/****
+ *LREAL_TO_STRING
+ */
+ case function_lreal_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_string*/
+ break;
+
+/****
+ *LREAL_TO_WSTRING
+ */
+ case function_lreal_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_wstring*/
+ break;
+
+/****
+ *LREAL_TO_DATE
+ */
+ case function_lreal_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_date*/
+ break;
+
+/****
+ *LREAL_TO_TOD
+ */
+ case function_lreal_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_tod*/
+ break;
+
+/****
+ *LREAL_TO_DT
+ */
+ case function_lreal_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dt*/
+ break;
/****
*SINT_TO_REAL
*/
- case function_sint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_real*/
- break;
-
-/****
- *SINT_TO_SINT
- */
- case function_sint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_sint*/
- break;
+ case function_sint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_real*/
+ break;
+
+/****
+ *SINT_TO_LREAL
+ */
+ case function_sint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lreal*/
+ break;
+
+/****
+ *SINT_TO_INT
+ */
+ case function_sint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_int*/
+ break;
+
+/****
+ *SINT_TO_DINT
+ */
+ case function_sint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dint*/
+ break;
/****
*SINT_TO_LINT
*/
- case function_sint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_lint*/
- break;
-
-/****
- *SINT_TO_DINT
- */
- case function_sint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_dint*/
- break;
+ case function_sint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lint*/
+ break;
+
+/****
+ *SINT_TO_USINT
+ */
+ case function_sint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_usint*/
+ break;
+
+/****
+ *SINT_TO_UINT
+ */
+ case function_sint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_uint*/
+ break;
+
+/****
+ *SINT_TO_UDINT
+ */
+ case function_sint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_udint*/
+ break;
+
+/****
+ *SINT_TO_ULINT
+ */
+ case function_sint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_ulint*/
+ break;
+
+/****
+ *SINT_TO_TIME
+ */
+ case function_sint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_time*/
+ break;
+
+/****
+ *SINT_TO_BOOL
+ */
+ case function_sint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_bool*/
+ break;
+
+/****
+ *SINT_TO_BYTE
+ */
+ case function_sint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_byte*/
+ break;
+
+/****
+ *SINT_TO_WORD
+ */
+ case function_sint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_word*/
+ break;
+
+/****
+ *SINT_TO_DWORD
+ */
+ case function_sint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dword*/
+ break;
+
+/****
+ *SINT_TO_LWORD
+ */
+ case function_sint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lword*/
+ break;
+
+/****
+ *SINT_TO_STRING
+ */
+ case function_sint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_string*/
+ break;
+
+/****
+ *SINT_TO_WSTRING
+ */
+ case function_sint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_wstring*/
+ break;
/****
*SINT_TO_DATE
*/
- case function_sint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_date*/
- break;
-
-/****
- *SINT_TO_DWORD
- */
- case function_sint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_dword*/
- break;
+ case function_sint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_date*/
+ break;
+
+/****
+ *SINT_TO_TOD
+ */
+ case function_sint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_tod*/
+ break;
/****
*SINT_TO_DT
*/
- case function_sint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_dt*/
- break;
-
-/****
- *SINT_TO_TOD
- */
- case function_sint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_tod*/
- break;
-
-/****
- *SINT_TO_UDINT
- */
- case function_sint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_udint*/
- break;
-
-/****
- *SINT_TO_WORD
- */
- case function_sint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_word*/
- break;
-
-/****
- *SINT_TO_WSTRING
- */
- case function_sint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_wstring*/
- break;
-
-/****
- *SINT_TO_STRING
- */
- case function_sint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_string*/
- break;
-
-/****
- *SINT_TO_LWORD
- */
- case function_sint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_lword*/
- break;
-
-/****
- *SINT_TO_UINT
- */
- case function_sint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_uint*/
- break;
-
-/****
- *SINT_TO_LREAL
- */
- case function_sint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_lreal*/
- break;
-
-/****
- *SINT_TO_BYTE
- */
- case function_sint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_byte*/
- break;
-
-/****
- *SINT_TO_USINT
- */
- case function_sint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_usint*/
- break;
-
-/****
- *SINT_TO_ULINT
- */
- case function_sint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_ulint*/
- break;
-
-/****
- *SINT_TO_BOOL
- */
- case function_sint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_bool*/
- break;
-
-/****
- *SINT_TO_TIME
- */
- case function_sint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_time*/
- break;
-
-/****
- *SINT_TO_INT
- */
- case function_sint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_int*/
- break;
+ case function_sint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dt*/
+ break;
+
+/****
+ *INT_TO_REAL
+ */
+ case function_int_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_real*/
+ break;
+
+/****
+ *INT_TO_LREAL
+ */
+ case function_int_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lreal*/
+ break;
+
+/****
+ *INT_TO_SINT
+ */
+ case function_int_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_sint*/
+ break;
+
+/****
+ *INT_TO_DINT
+ */
+ case function_int_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dint*/
+ break;
+
+/****
+ *INT_TO_LINT
+ */
+ case function_int_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lint*/
+ break;
+
+/****
+ *INT_TO_USINT
+ */
+ case function_int_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_usint*/
+ break;
+
+/****
+ *INT_TO_UINT
+ */
+ case function_int_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_uint*/
+ break;
+
+/****
+ *INT_TO_UDINT
+ */
+ case function_int_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_udint*/
+ break;
+
+/****
+ *INT_TO_ULINT
+ */
+ case function_int_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_ulint*/
+ break;
+
+/****
+ *INT_TO_TIME
+ */
+ case function_int_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_time*/
+ break;
+
+/****
+ *INT_TO_BOOL
+ */
+ case function_int_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_bool*/
+ break;
+
+/****
+ *INT_TO_BYTE
+ */
+ case function_int_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_byte*/
+ break;
+
+/****
+ *INT_TO_WORD
+ */
+ case function_int_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_word*/
+ break;
+
+/****
+ *INT_TO_DWORD
+ */
+ case function_int_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dword*/
+ break;
+
+/****
+ *INT_TO_LWORD
+ */
+ case function_int_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lword*/
+ break;
+
+/****
+ *INT_TO_STRING
+ */
+ case function_int_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_string*/
+ break;
+
+/****
+ *INT_TO_WSTRING
+ */
+ case function_int_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_wstring*/
+ break;
+
+/****
+ *INT_TO_DATE
+ */
+ case function_int_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_date*/
+ break;
+
+/****
+ *INT_TO_TOD
+ */
+ case function_int_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_tod*/
+ break;
+
+/****
+ *INT_TO_DT
+ */
+ case function_int_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dt*/
+ break;
+
+/****
+ *DINT_TO_REAL
+ */
+ case function_dint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_real*/
+ break;
+
+/****
+ *DINT_TO_LREAL
+ */
+ case function_dint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lreal*/
+ break;
+
+/****
+ *DINT_TO_SINT
+ */
+ case function_dint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_sint*/
+ break;
+
+/****
+ *DINT_TO_INT
+ */
+ case function_dint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_int*/
+ break;
+
+/****
+ *DINT_TO_LINT
+ */
+ case function_dint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lint*/
+ break;
+
+/****
+ *DINT_TO_USINT
+ */
+ case function_dint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_usint*/
+ break;
+
+/****
+ *DINT_TO_UINT
+ */
+ case function_dint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_uint*/
+ break;
+
+/****
+ *DINT_TO_UDINT
+ */
+ case function_dint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_udint*/
+ break;
+
+/****
+ *DINT_TO_ULINT
+ */
+ case function_dint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_ulint*/
+ break;
+
+/****
+ *DINT_TO_TIME
+ */
+ case function_dint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_time*/
+ break;
+
+/****
+ *DINT_TO_BOOL
+ */
+ case function_dint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_bool*/
+ break;
+
+/****
+ *DINT_TO_BYTE
+ */
+ case function_dint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_byte*/
+ break;
+
+/****
+ *DINT_TO_WORD
+ */
+ case function_dint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_word*/
+ break;
+
+/****
+ *DINT_TO_DWORD
+ */
+ case function_dint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_dword*/
+ break;
+
+/****
+ *DINT_TO_LWORD
+ */
+ case function_dint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lword*/
+ break;
+
+/****
+ *DINT_TO_STRING
+ */
+ case function_dint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_string*/
+ break;
+
+/****
+ *DINT_TO_WSTRING
+ */
+ case function_dint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_wstring*/
+ break;
+
+/****
+ *DINT_TO_DATE
+ */
+ case function_dint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_date*/
+ break;
+
+/****
+ *DINT_TO_TOD
+ */
+ case function_dint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_tod*/
+ break;
+
+/****
+ *DINT_TO_DT
+ */
+ case function_dint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_dt*/
+ break;
/****
*LINT_TO_REAL
*/
- case function_lint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_real*/
- break;
+ case function_lint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_real*/
+ break;
+
+/****
+ *LINT_TO_LREAL
+ */
+ case function_lint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_lreal*/
+ break;
/****
*LINT_TO_SINT
*/
- case function_lint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_sint*/
- break;
-
-/****
- *LINT_TO_LINT
- */
- case function_lint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_lint*/
- break;
+ case function_lint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_sint*/
+ break;
+
+/****
+ *LINT_TO_INT
+ */
+ case function_lint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_int*/
+ break;
/****
*LINT_TO_DINT
*/
- case function_lint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_dint*/
- break;
+ case function_lint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dint*/
+ break;
+
+/****
+ *LINT_TO_USINT
+ */
+ case function_lint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_usint*/
+ break;
+
+/****
+ *LINT_TO_UINT
+ */
+ case function_lint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_uint*/
+ break;
+
+/****
+ *LINT_TO_UDINT
+ */
+ case function_lint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_udint*/
+ break;
+
+/****
+ *LINT_TO_ULINT
+ */
+ case function_lint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_ulint*/
+ break;
+
+/****
+ *LINT_TO_TIME
+ */
+ case function_lint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_time*/
+ break;
+
+/****
+ *LINT_TO_BOOL
+ */
+ case function_lint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_bool*/
+ break;
+
+/****
+ *LINT_TO_BYTE
+ */
+ case function_lint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_byte*/
+ break;
+
+/****
+ *LINT_TO_WORD
+ */
+ case function_lint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_word*/
+ break;
+
+/****
+ *LINT_TO_DWORD
+ */
+ case function_lint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dword*/
+ break;
+
+/****
+ *LINT_TO_LWORD
+ */
+ case function_lint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_lword*/
+ break;
+
+/****
+ *LINT_TO_STRING
+ */
+ case function_lint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_string*/
+ break;
+
+/****
+ *LINT_TO_WSTRING
+ */
+ case function_lint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_wstring*/
+ break;
/****
*LINT_TO_DATE
*/
- case function_lint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_date*/
- break;
-
-/****
- *LINT_TO_DWORD
- */
- case function_lint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_dword*/
- break;
+ case function_lint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_date*/
+ break;
+
+/****
+ *LINT_TO_TOD
+ */
+ case function_lint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_tod*/
+ break;
/****
*LINT_TO_DT
*/
- case function_lint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_dt*/
- break;
-
-/****
- *LINT_TO_TOD
- */
- case function_lint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_tod*/
- break;
-
-/****
- *LINT_TO_UDINT
- */
- case function_lint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_udint*/
- break;
-
-/****
- *LINT_TO_WORD
- */
- case function_lint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_word*/
- break;
-
-/****
- *LINT_TO_WSTRING
- */
- case function_lint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_wstring*/
- break;
-
-/****
- *LINT_TO_STRING
- */
- case function_lint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_string*/
- break;
-
-/****
- *LINT_TO_LWORD
- */
- case function_lint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_lword*/
- break;
-
-/****
- *LINT_TO_UINT
- */
- case function_lint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_uint*/
- break;
-
-/****
- *LINT_TO_LREAL
- */
- case function_lint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_lreal*/
- break;
-
-/****
- *LINT_TO_BYTE
- */
- case function_lint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_byte*/
- break;
-
-/****
- *LINT_TO_USINT
- */
- case function_lint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_usint*/
- break;
-
-/****
- *LINT_TO_ULINT
- */
- case function_lint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_ulint*/
- break;
-
-/****
- *LINT_TO_BOOL
- */
- case function_lint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_bool*/
- break;
-
-/****
- *LINT_TO_TIME
- */
- case function_lint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_time*/
- break;
-
-/****
- *LINT_TO_INT
- */
- case function_lint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_int*/
- break;
-
-/****
- *DINT_TO_REAL
- */
- case function_dint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_real*/
- break;
-
-/****
- *DINT_TO_SINT
- */
- case function_dint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_sint*/
- break;
-
-/****
- *DINT_TO_LINT
- */
- case function_dint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_lint*/
- break;
-
-/****
- *DINT_TO_DINT
- */
- case function_dint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_dint*/
- break;
-
-/****
- *DINT_TO_DATE
- */
- case function_dint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_date*/
- break;
-
-/****
- *DINT_TO_DWORD
- */
- case function_dint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_dword*/
- break;
-
-/****
- *DINT_TO_DT
- */
- case function_dint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_dt*/
- break;
-
-/****
- *DINT_TO_TOD
- */
- case function_dint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_tod*/
- break;
-
-/****
- *DINT_TO_UDINT
- */
- case function_dint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_udint*/
- break;
-
-/****
- *DINT_TO_WORD
- */
- case function_dint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_word*/
- break;
-
-/****
- *DINT_TO_WSTRING
- */
- case function_dint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_wstring*/
- break;
-
-/****
- *DINT_TO_STRING
- */
- case function_dint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_string*/
- break;
-
-/****
- *DINT_TO_LWORD
- */
- case function_dint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_lword*/
- break;
-
-/****
- *DINT_TO_UINT
- */
- case function_dint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_uint*/
- break;
-
-/****
- *DINT_TO_LREAL
- */
- case function_dint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_lreal*/
- break;
-
-/****
- *DINT_TO_BYTE
- */
- case function_dint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_byte*/
- break;
-
-/****
- *DINT_TO_USINT
- */
- case function_dint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_usint*/
- break;
-
-/****
- *DINT_TO_ULINT
- */
- case function_dint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_ulint*/
- break;
-
-/****
- *DINT_TO_BOOL
- */
- case function_dint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_bool*/
- break;
-
-/****
- *DINT_TO_TIME
- */
- case function_dint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_time*/
- break;
-
-/****
- *DINT_TO_INT
- */
- case function_dint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_int*/
- break;
+ case function_lint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dt*/
+ break;
+
+/****
+ *USINT_TO_REAL
+ */
+ case function_usint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_real*/
+ break;
+
+/****
+ *USINT_TO_LREAL
+ */
+ case function_usint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lreal*/
+ break;
+
+/****
+ *USINT_TO_SINT
+ */
+ case function_usint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_sint*/
+ break;
+
+/****
+ *USINT_TO_INT
+ */
+ case function_usint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_int*/
+ break;
+
+/****
+ *USINT_TO_DINT
+ */
+ case function_usint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dint*/
+ break;
+
+/****
+ *USINT_TO_LINT
+ */
+ case function_usint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lint*/
+ break;
+
+/****
+ *USINT_TO_UINT
+ */
+ case function_usint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_uint*/
+ break;
+
+/****
+ *USINT_TO_UDINT
+ */
+ case function_usint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_udint*/
+ break;
+
+/****
+ *USINT_TO_ULINT
+ */
+ case function_usint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_ulint*/
+ break;
+
+/****
+ *USINT_TO_TIME
+ */
+ case function_usint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_time*/
+ break;
+
+/****
+ *USINT_TO_BOOL
+ */
+ case function_usint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_bool*/
+ break;
+
+/****
+ *USINT_TO_BYTE
+ */
+ case function_usint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_byte*/
+ break;
+
+/****
+ *USINT_TO_WORD
+ */
+ case function_usint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_word*/
+ break;
+
+/****
+ *USINT_TO_DWORD
+ */
+ case function_usint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dword*/
+ break;
+
+/****
+ *USINT_TO_LWORD
+ */
+ case function_usint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lword*/
+ break;
+
+/****
+ *USINT_TO_STRING
+ */
+ case function_usint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_string*/
+ break;
+
+/****
+ *USINT_TO_WSTRING
+ */
+ case function_usint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_wstring*/
+ break;
+
+/****
+ *USINT_TO_DATE
+ */
+ case function_usint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_date*/
+ break;
+
+/****
+ *USINT_TO_TOD
+ */
+ case function_usint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_tod*/
+ break;
+
+/****
+ *USINT_TO_DT
+ */
+ case function_usint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dt*/
+ break;
+
+/****
+ *UINT_TO_REAL
+ */
+ case function_uint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_real*/
+ break;
+
+/****
+ *UINT_TO_LREAL
+ */
+ case function_uint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lreal*/
+ break;
+
+/****
+ *UINT_TO_SINT
+ */
+ case function_uint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_sint*/
+ break;
+
+/****
+ *UINT_TO_INT
+ */
+ case function_uint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_int*/
+ break;
+
+/****
+ *UINT_TO_DINT
+ */
+ case function_uint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dint*/
+ break;
+
+/****
+ *UINT_TO_LINT
+ */
+ case function_uint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lint*/
+ break;
+
+/****
+ *UINT_TO_USINT
+ */
+ case function_uint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_usint*/
+ break;
+
+/****
+ *UINT_TO_UDINT
+ */
+ case function_uint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_udint*/
+ break;
+
+/****
+ *UINT_TO_ULINT
+ */
+ case function_uint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_ulint*/
+ break;
+
+/****
+ *UINT_TO_TIME
+ */
+ case function_uint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_time*/
+ break;
+
+/****
+ *UINT_TO_BOOL
+ */
+ case function_uint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_bool*/
+ break;
+
+/****
+ *UINT_TO_BYTE
+ */
+ case function_uint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_byte*/
+ break;
+
+/****
+ *UINT_TO_WORD
+ */
+ case function_uint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_word*/
+ break;
+
+/****
+ *UINT_TO_DWORD
+ */
+ case function_uint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dword*/
+ break;
+
+/****
+ *UINT_TO_LWORD
+ */
+ case function_uint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lword*/
+ break;
+
+/****
+ *UINT_TO_STRING
+ */
+ case function_uint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_string*/
+ break;
+
+/****
+ *UINT_TO_WSTRING
+ */
+ case function_uint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_wstring*/
+ break;
+
+/****
+ *UINT_TO_DATE
+ */
+ case function_uint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_date*/
+ break;
+
+/****
+ *UINT_TO_TOD
+ */
+ case function_uint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_tod*/
+ break;
+
+/****
+ *UINT_TO_DT
+ */
+ case function_uint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dt*/
+ break;
+
+/****
+ *UDINT_TO_REAL
+ */
+ case function_udint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_real*/
+ break;
+
+/****
+ *UDINT_TO_LREAL
+ */
+ case function_udint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lreal*/
+ break;
+
+/****
+ *UDINT_TO_SINT
+ */
+ case function_udint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_sint*/
+ break;
+
+/****
+ *UDINT_TO_INT
+ */
+ case function_udint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_int*/
+ break;
+
+/****
+ *UDINT_TO_DINT
+ */
+ case function_udint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dint*/
+ break;
+
+/****
+ *UDINT_TO_LINT
+ */
+ case function_udint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lint*/
+ break;
+
+/****
+ *UDINT_TO_USINT
+ */
+ case function_udint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_usint*/
+ break;
+
+/****
+ *UDINT_TO_UINT
+ */
+ case function_udint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_uint*/
+ break;
+
+/****
+ *UDINT_TO_ULINT
+ */
+ case function_udint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_ulint*/
+ break;
+
+/****
+ *UDINT_TO_TIME
+ */
+ case function_udint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_time*/
+ break;
+
+/****
+ *UDINT_TO_BOOL
+ */
+ case function_udint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_bool*/
+ break;
+
+/****
+ *UDINT_TO_BYTE
+ */
+ case function_udint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_byte*/
+ break;
+
+/****
+ *UDINT_TO_WORD
+ */
+ case function_udint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_word*/
+ break;
+
+/****
+ *UDINT_TO_DWORD
+ */
+ case function_udint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dword*/
+ break;
+
+/****
+ *UDINT_TO_LWORD
+ */
+ case function_udint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lword*/
+ break;
+
+/****
+ *UDINT_TO_STRING
+ */
+ case function_udint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_string*/
+ break;
+
+/****
+ *UDINT_TO_WSTRING
+ */
+ case function_udint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_wstring*/
+ break;
+
+/****
+ *UDINT_TO_DATE
+ */
+ case function_udint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_date*/
+ break;
+
+/****
+ *UDINT_TO_TOD
+ */
+ case function_udint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_tod*/
+ break;
+
+/****
+ *UDINT_TO_DT
+ */
+ case function_udint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dt*/
+ break;
+
+/****
+ *ULINT_TO_REAL
+ */
+ case function_ulint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_real*/
+ break;
+
+/****
+ *ULINT_TO_LREAL
+ */
+ case function_ulint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lreal*/
+ break;
+
+/****
+ *ULINT_TO_SINT
+ */
+ case function_ulint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_sint*/
+ break;
+
+/****
+ *ULINT_TO_INT
+ */
+ case function_ulint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_int*/
+ break;
+
+/****
+ *ULINT_TO_DINT
+ */
+ case function_ulint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dint*/
+ break;
+
+/****
+ *ULINT_TO_LINT
+ */
+ case function_ulint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lint*/
+ break;
+
+/****
+ *ULINT_TO_USINT
+ */
+ case function_ulint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_usint*/
+ break;
+
+/****
+ *ULINT_TO_UINT
+ */
+ case function_ulint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_uint*/
+ break;
+
+/****
+ *ULINT_TO_UDINT
+ */
+ case function_ulint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_udint*/
+ break;
+
+/****
+ *ULINT_TO_TIME
+ */
+ case function_ulint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_time*/
+ break;
+
+/****
+ *ULINT_TO_BOOL
+ */
+ case function_ulint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_bool*/
+ break;
+
+/****
+ *ULINT_TO_BYTE
+ */
+ case function_ulint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_byte*/
+ break;
+
+/****
+ *ULINT_TO_WORD
+ */
+ case function_ulint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_word*/
+ break;
+
+/****
+ *ULINT_TO_DWORD
+ */
+ case function_ulint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dword*/
+ break;
+
+/****
+ *ULINT_TO_LWORD
+ */
+ case function_ulint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lword*/
+ break;
+
+/****
+ *ULINT_TO_STRING
+ */
+ case function_ulint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_string*/
+ break;
+
+/****
+ *ULINT_TO_WSTRING
+ */
+ case function_ulint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_wstring*/
+ break;
+
+/****
+ *ULINT_TO_DATE
+ */
+ case function_ulint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_date*/
+ break;
+
+/****
+ *ULINT_TO_TOD
+ */
+ case function_ulint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_tod*/
+ break;
+
+/****
+ *ULINT_TO_DT
+ */
+ case function_ulint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dt*/
+ break;
+
+/****
+ *TIME_TO_REAL
+ */
+ case function_time_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_real*/
+ break;
+
+/****
+ *TIME_TO_LREAL
+ */
+ case function_time_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lreal*/
+ break;
+
+/****
+ *TIME_TO_SINT
+ */
+ case function_time_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_sint*/
+ break;
+
+/****
+ *TIME_TO_INT
+ */
+ case function_time_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_int*/
+ break;
+
+/****
+ *TIME_TO_DINT
+ */
+ case function_time_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_dint*/
+ break;
+
+/****
+ *TIME_TO_LINT
+ */
+ case function_time_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lint*/
+ break;
+
+/****
+ *TIME_TO_USINT
+ */
+ case function_time_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_usint*/
+ break;
+
+/****
+ *TIME_TO_UINT
+ */
+ case function_time_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_uint*/
+ break;
+
+/****
+ *TIME_TO_UDINT
+ */
+ case function_time_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_udint*/
+ break;
+
+/****
+ *TIME_TO_ULINT
+ */
+ case function_time_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_ulint*/
+ break;
+
+/****
+ *TIME_TO_BOOL
+ */
+ case function_time_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_bool*/
+ break;
+
+/****
+ *TIME_TO_BYTE
+ */
+ case function_time_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_byte*/
+ break;
+
+/****
+ *TIME_TO_WORD
+ */
+ case function_time_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_word*/
+ break;
+
+/****
+ *TIME_TO_DWORD
+ */
+ case function_time_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_dword*/
+ break;
+
+/****
+ *TIME_TO_LWORD
+ */
+ case function_time_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lword*/
+ break;
+
+/****
+ *TIME_TO_STRING
+ */
+ case function_time_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_string*/
+ break;
+
+/****
+ *TIME_TO_WSTRING
+ */
+ case function_time_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_wstring*/
+ break;
+
+/****
+ *BOOL_TO_REAL
+ */
+ case function_bool_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_real*/
+ break;
+
+/****
+ *BOOL_TO_LREAL
+ */
+ case function_bool_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lreal*/
+ break;
+
+/****
+ *BOOL_TO_SINT
+ */
+ case function_bool_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_sint*/
+ break;
+
+/****
+ *BOOL_TO_INT
+ */
+ case function_bool_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_int*/
+ break;
+
+/****
+ *BOOL_TO_DINT
+ */
+ case function_bool_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dint*/
+ break;
+
+/****
+ *BOOL_TO_LINT
+ */
+ case function_bool_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lint*/
+ break;
+
+/****
+ *BOOL_TO_USINT
+ */
+ case function_bool_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_usint*/
+ break;
+
+/****
+ *BOOL_TO_UINT
+ */
+ case function_bool_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_uint*/
+ break;
+
+/****
+ *BOOL_TO_UDINT
+ */
+ case function_bool_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_udint*/
+ break;
+
+/****
+ *BOOL_TO_ULINT
+ */
+ case function_bool_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_ulint*/
+ break;
+
+/****
+ *BOOL_TO_TIME
+ */
+ case function_bool_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_time*/
+ break;
+
+/****
+ *BOOL_TO_BYTE
+ */
+ case function_bool_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_byte*/
+ break;
+
+/****
+ *BOOL_TO_WORD
+ */
+ case function_bool_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_word*/
+ break;
+
+/****
+ *BOOL_TO_DWORD
+ */
+ case function_bool_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dword*/
+ break;
+
+/****
+ *BOOL_TO_LWORD
+ */
+ case function_bool_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lword*/
+ break;
+
+/****
+ *BOOL_TO_STRING
+ */
+ case function_bool_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_string*/
+ break;
+
+/****
+ *BOOL_TO_WSTRING
+ */
+ case function_bool_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_wstring*/
+ break;
+
+/****
+ *BOOL_TO_DATE
+ */
+ case function_bool_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_date*/
+ break;
+
+/****
+ *BOOL_TO_TOD
+ */
+ case function_bool_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_tod*/
+ break;
+
+/****
+ *BOOL_TO_DT
+ */
+ case function_bool_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dt*/
+ break;
+
+/****
+ *BYTE_TO_REAL
+ */
+ case function_byte_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_real*/
+ break;
+
+/****
+ *BYTE_TO_LREAL
+ */
+ case function_byte_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lreal*/
+ break;
+
+/****
+ *BYTE_TO_SINT
+ */
+ case function_byte_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_sint*/
+ break;
+
+/****
+ *BYTE_TO_INT
+ */
+ case function_byte_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_int*/
+ break;
+
+/****
+ *BYTE_TO_DINT
+ */
+ case function_byte_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dint*/
+ break;
+
+/****
+ *BYTE_TO_LINT
+ */
+ case function_byte_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lint*/
+ break;
+
+/****
+ *BYTE_TO_USINT
+ */
+ case function_byte_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_usint*/
+ break;
+
+/****
+ *BYTE_TO_UINT
+ */
+ case function_byte_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_uint*/
+ break;
+
+/****
+ *BYTE_TO_UDINT
+ */
+ case function_byte_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_udint*/
+ break;
+
+/****
+ *BYTE_TO_ULINT
+ */
+ case function_byte_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_ulint*/
+ break;
+
+/****
+ *BYTE_TO_TIME
+ */
+ case function_byte_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_time*/
+ break;
+
+/****
+ *BYTE_TO_BOOL
+ */
+ case function_byte_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_bool*/
+ break;
+
+/****
+ *BYTE_TO_WORD
+ */
+ case function_byte_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_word*/
+ break;
+
+/****
+ *BYTE_TO_DWORD
+ */
+ case function_byte_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dword*/
+ break;
+
+/****
+ *BYTE_TO_LWORD
+ */
+ case function_byte_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lword*/
+ break;
+
+/****
+ *BYTE_TO_STRING
+ */
+ case function_byte_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_string*/
+ break;
+
+/****
+ *BYTE_TO_WSTRING
+ */
+ case function_byte_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_wstring*/
+ break;
+
+/****
+ *BYTE_TO_DATE
+ */
+ case function_byte_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_date*/
+ break;
+
+/****
+ *BYTE_TO_TOD
+ */
+ case function_byte_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_tod*/
+ break;
+
+/****
+ *BYTE_TO_DT
+ */
+ case function_byte_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dt*/
+ break;
+
+/****
+ *WORD_TO_REAL
+ */
+ case function_word_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_real*/
+ break;
+
+/****
+ *WORD_TO_LREAL
+ */
+ case function_word_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lreal*/
+ break;
+
+/****
+ *WORD_TO_SINT
+ */
+ case function_word_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_sint*/
+ break;
+
+/****
+ *WORD_TO_INT
+ */
+ case function_word_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_int*/
+ break;
+
+/****
+ *WORD_TO_DINT
+ */
+ case function_word_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dint*/
+ break;
+
+/****
+ *WORD_TO_LINT
+ */
+ case function_word_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lint*/
+ break;
+
+/****
+ *WORD_TO_USINT
+ */
+ case function_word_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_usint*/
+ break;
+
+/****
+ *WORD_TO_UINT
+ */
+ case function_word_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_uint*/
+ break;
+
+/****
+ *WORD_TO_UDINT
+ */
+ case function_word_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_udint*/
+ break;
+
+/****
+ *WORD_TO_ULINT
+ */
+ case function_word_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_ulint*/
+ break;
+
+/****
+ *WORD_TO_TIME
+ */
+ case function_word_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_time*/
+ break;
+
+/****
+ *WORD_TO_BOOL
+ */
+ case function_word_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_bool*/
+ break;
+
+/****
+ *WORD_TO_BYTE
+ */
+ case function_word_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_byte*/
+ break;
+
+/****
+ *WORD_TO_DWORD
+ */
+ case function_word_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dword*/
+ break;
+
+/****
+ *WORD_TO_LWORD
+ */
+ case function_word_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lword*/
+ break;
+
+/****
+ *WORD_TO_STRING
+ */
+ case function_word_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_string*/
+ break;
+
+/****
+ *WORD_TO_WSTRING
+ */
+ case function_word_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_wstring*/
+ break;
+
+/****
+ *WORD_TO_DATE
+ */
+ case function_word_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_date*/
+ break;
+
+/****
+ *WORD_TO_TOD
+ */
+ case function_word_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_tod*/
+ break;
+
+/****
+ *WORD_TO_DT
+ */
+ case function_word_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dt*/
+ break;
+
+/****
+ *DWORD_TO_REAL
+ */
+ case function_dword_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_real*/
+ break;
+
+/****
+ *DWORD_TO_LREAL
+ */
+ case function_dword_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lreal*/
+ break;
+
+/****
+ *DWORD_TO_SINT
+ */
+ case function_dword_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_sint*/
+ break;
+
+/****
+ *DWORD_TO_INT
+ */
+ case function_dword_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_int*/
+ break;
+
+/****
+ *DWORD_TO_DINT
+ */
+ case function_dword_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_dint*/
+ break;
+
+/****
+ *DWORD_TO_LINT
+ */
+ case function_dword_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lint*/
+ break;
+
+/****
+ *DWORD_TO_USINT
+ */
+ case function_dword_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_usint*/
+ break;
+
+/****
+ *DWORD_TO_UINT
+ */
+ case function_dword_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_uint*/
+ break;
+
+/****
+ *DWORD_TO_UDINT
+ */
+ case function_dword_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_udint*/
+ break;
+
+/****
+ *DWORD_TO_ULINT
+ */
+ case function_dword_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_ulint*/
+ break;
+
+/****
+ *DWORD_TO_TIME
+ */
+ case function_dword_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_time*/
+ break;
+
+/****
+ *DWORD_TO_BOOL
+ */
+ case function_dword_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_bool*/
+ break;
+
+/****
+ *DWORD_TO_BYTE
+ */
+ case function_dword_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_byte*/
+ break;
+
+/****
+ *DWORD_TO_WORD
+ */
+ case function_dword_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_word*/
+ break;
+
+/****
+ *DWORD_TO_LWORD
+ */
+ case function_dword_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lword*/
+ break;
+
+/****
+ *DWORD_TO_STRING
+ */
+ case function_dword_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_string*/
+ break;
+
+/****
+ *DWORD_TO_WSTRING
+ */
+ case function_dword_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_wstring*/
+ break;
+
+/****
+ *DWORD_TO_DATE
+ */
+ case function_dword_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_date*/
+ break;
+
+/****
+ *DWORD_TO_TOD
+ */
+ case function_dword_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_tod*/
+ break;
+
+/****
+ *DWORD_TO_DT
+ */
+ case function_dword_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_dt*/
+ break;
+
+/****
+ *LWORD_TO_REAL
+ */
+ case function_lword_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_real*/
+ break;
+
+/****
+ *LWORD_TO_LREAL
+ */
+ case function_lword_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_lreal*/
+ break;
+
+/****
+ *LWORD_TO_SINT
+ */
+ case function_lword_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_sint*/
+ break;
+
+/****
+ *LWORD_TO_INT
+ */
+ case function_lword_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_int*/
+ break;
+
+/****
+ *LWORD_TO_DINT
+ */
+ case function_lword_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dint*/
+ break;
+
+/****
+ *LWORD_TO_LINT
+ */
+ case function_lword_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_lint*/
+ break;
+
+/****
+ *LWORD_TO_USINT
+ */
+ case function_lword_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_usint*/
+ break;
+
+/****
+ *LWORD_TO_UINT
+ */
+ case function_lword_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_uint*/
+ break;
+
+/****
+ *LWORD_TO_UDINT
+ */
+ case function_lword_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_udint*/
+ break;
+
+/****
+ *LWORD_TO_ULINT
+ */
+ case function_lword_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_ulint*/
+ break;
+
+/****
+ *LWORD_TO_TIME
+ */
+ case function_lword_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_time*/
+ break;
+
+/****
+ *LWORD_TO_BOOL
+ */
+ case function_lword_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_bool*/
+ break;
+
+/****
+ *LWORD_TO_BYTE
+ */
+ case function_lword_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_byte*/
+ break;
+
+/****
+ *LWORD_TO_WORD
+ */
+ case function_lword_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_word*/
+ break;
+
+/****
+ *LWORD_TO_DWORD
+ */
+ case function_lword_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dword*/
+ break;
+
+/****
+ *LWORD_TO_STRING
+ */
+ case function_lword_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_string*/
+ break;
+
+/****
+ *LWORD_TO_WSTRING
+ */
+ case function_lword_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_wstring*/
+ break;
+
+/****
+ *LWORD_TO_DATE
+ */
+ case function_lword_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_date*/
+ break;
+
+/****
+ *LWORD_TO_TOD
+ */
+ case function_lword_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_tod*/
+ break;
+
+/****
+ *LWORD_TO_DT
+ */
+ case function_lword_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dt*/
+ break;
+
+/****
+ *STRING_TO_REAL
+ */
+ case function_string_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_real*/
+ break;
+
+/****
+ *STRING_TO_LREAL
+ */
+ case function_string_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lreal*/
+ break;
+
+/****
+ *STRING_TO_SINT
+ */
+ case function_string_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_sint*/
+ break;
+
+/****
+ *STRING_TO_INT
+ */
+ case function_string_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_int*/
+ break;
+
+/****
+ *STRING_TO_DINT
+ */
+ case function_string_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dint*/
+ break;
+
+/****
+ *STRING_TO_LINT
+ */
+ case function_string_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lint*/
+ break;
+
+/****
+ *STRING_TO_USINT
+ */
+ case function_string_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_usint*/
+ break;
+
+/****
+ *STRING_TO_UINT
+ */
+ case function_string_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_uint*/
+ break;
+
+/****
+ *STRING_TO_UDINT
+ */
+ case function_string_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_udint*/
+ break;
+
+/****
+ *STRING_TO_ULINT
+ */
+ case function_string_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_ulint*/
+ break;
+
+/****
+ *STRING_TO_TIME
+ */
+ case function_string_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_time*/
+ break;
+
+/****
+ *STRING_TO_BOOL
+ */
+ case function_string_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_bool*/
+ break;
+
+/****
+ *STRING_TO_BYTE
+ */
+ case function_string_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_byte*/
+ break;
+
+/****
+ *STRING_TO_WORD
+ */
+ case function_string_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_word*/
+ break;
+
+/****
+ *STRING_TO_DWORD
+ */
+ case function_string_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dword*/
+ break;
+
+/****
+ *STRING_TO_LWORD
+ */
+ case function_string_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lword*/
+ break;
+
+/****
+ *STRING_TO_DATE
+ */
+ case function_string_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_date*/
+ break;
+
+/****
+ *STRING_TO_TOD
+ */
+ case function_string_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_tod*/
+ break;
+
+/****
+ *STRING_TO_DT
+ */
+ case function_string_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dt*/
+ break;
+
+/****
+ *WSTRING_TO_REAL
+ */
+ case function_wstring_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_real*/
+ break;
+
+/****
+ *WSTRING_TO_LREAL
+ */
+ case function_wstring_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lreal*/
+ break;
+
+/****
+ *WSTRING_TO_SINT
+ */
+ case function_wstring_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_sint*/
+ break;
+
+/****
+ *WSTRING_TO_INT
+ */
+ case function_wstring_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_int*/
+ break;
+
+/****
+ *WSTRING_TO_DINT
+ */
+ case function_wstring_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dint*/
+ break;
+
+/****
+ *WSTRING_TO_LINT
+ */
+ case function_wstring_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lint*/
+ break;
+
+/****
+ *WSTRING_TO_USINT
+ */
+ case function_wstring_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_usint*/
+ break;
+
+/****
+ *WSTRING_TO_UINT
+ */
+ case function_wstring_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_uint*/
+ break;
+
+/****
+ *WSTRING_TO_UDINT
+ */
+ case function_wstring_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_udint*/
+ break;
+
+/****
+ *WSTRING_TO_ULINT
+ */
+ case function_wstring_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_ulint*/
+ break;
+
+/****
+ *WSTRING_TO_TIME
+ */
+ case function_wstring_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_time*/
+ break;
+
+/****
+ *WSTRING_TO_BOOL
+ */
+ case function_wstring_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_bool*/
+ break;
+
+/****
+ *WSTRING_TO_BYTE
+ */
+ case function_wstring_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_byte*/
+ break;
+
+/****
+ *WSTRING_TO_WORD
+ */
+ case function_wstring_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_word*/
+ break;
+
+/****
+ *WSTRING_TO_DWORD
+ */
+ case function_wstring_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dword*/
+ break;
+
+/****
+ *WSTRING_TO_LWORD
+ */
+ case function_wstring_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lword*/
+ break;
+
+/****
+ *WSTRING_TO_DATE
+ */
+ case function_wstring_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_date*/
+ break;
+
+/****
+ *WSTRING_TO_TOD
+ */
+ case function_wstring_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_tod*/
+ break;
+
+/****
+ *WSTRING_TO_DT
+ */
+ case function_wstring_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dt*/
+ break;
/****
*DATE_TO_REAL
*/
- case function_date_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_real*/
- break;
+ case function_date_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_real*/
+ break;
+
+/****
+ *DATE_TO_LREAL
+ */
+ case function_date_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lreal*/
+ break;
/****
*DATE_TO_SINT
*/
- case function_date_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_sint*/
- break;
+ case function_date_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_sint*/
+ break;
+
+/****
+ *DATE_TO_INT
+ */
+ case function_date_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_int*/
+ break;
+
+/****
+ *DATE_TO_DINT
+ */
+ case function_date_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_dint*/
+ break;
/****
*DATE_TO_LINT
*/
- case function_date_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_lint*/
- break;
-
-/****
- *DATE_TO_DINT
- */
- case function_date_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_dint*/
- break;
-
-/****
- *DATE_TO_DATE
- */
- case function_date_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_date*/
- break;
+ case function_date_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lint*/
+ break;
+
+/****
+ *DATE_TO_USINT
+ */
+ case function_date_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_usint*/
+ break;
+
+/****
+ *DATE_TO_UINT
+ */
+ case function_date_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_uint*/
+ break;
+
+/****
+ *DATE_TO_UDINT
+ */
+ case function_date_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_udint*/
+ break;
+
+/****
+ *DATE_TO_ULINT
+ */
+ case function_date_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_ulint*/
+ break;
+
+/****
+ *DATE_TO_BOOL
+ */
+ case function_date_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_bool*/
+ break;
+
+/****
+ *DATE_TO_BYTE
+ */
+ case function_date_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_byte*/
+ break;
+
+/****
+ *DATE_TO_WORD
+ */
+ case function_date_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_word*/
+ break;
/****
*DATE_TO_DWORD
*/
- case function_date_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_dword*/
- break;
-
-/****
- *DATE_TO_DT
- */
- case function_date_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_dt*/
- break;
-
-/****
- *DATE_TO_TOD
- */
- case function_date_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_tod*/
- break;
-
-/****
- *DATE_TO_UDINT
- */
- case function_date_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_udint*/
- break;
-
-/****
- *DATE_TO_WORD
- */
- case function_date_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_word*/
- break;
+ case function_date_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_dword*/
+ break;
+
+/****
+ *DATE_TO_LWORD
+ */
+ case function_date_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lword*/
+ break;
+
+/****
+ *DATE_TO_STRING
+ */
+ case function_date_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_string*/
+ break;
/****
*DATE_TO_WSTRING
*/
- case function_date_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_wstring*/
- break;
-
-/****
- *DATE_TO_STRING
- */
- case function_date_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_string*/
- break;
-
-/****
- *DATE_TO_LWORD
- */
- case function_date_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_lword*/
- break;
-
-/****
- *DATE_TO_UINT
- */
- case function_date_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_uint*/
- break;
-
-/****
- *DATE_TO_LREAL
- */
- case function_date_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_lreal*/
- break;
-
-/****
- *DATE_TO_BYTE
- */
- case function_date_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_byte*/
- break;
-
-/****
- *DATE_TO_USINT
- */
- case function_date_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_usint*/
- break;
-
-/****
- *DATE_TO_ULINT
- */
- case function_date_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_ulint*/
- break;
-
-/****
- *DATE_TO_BOOL
- */
- case function_date_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_bool*/
- break;
-
-/****
- *DATE_TO_TIME
- */
- case function_date_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_time*/
- break;
-
-/****
- *DATE_TO_INT
- */
- case function_date_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_int*/
- break;
-
-/****
- *DWORD_TO_REAL
- */
- case function_dword_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_real*/
- break;
-
-/****
- *DWORD_TO_SINT
- */
- case function_dword_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_sint*/
- break;
-
-/****
- *DWORD_TO_LINT
- */
- case function_dword_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_lint*/
- break;
-
-/****
- *DWORD_TO_DINT
- */
- case function_dword_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_dint*/
- break;
-
-/****
- *DWORD_TO_DATE
- */
- case function_dword_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_date*/
- break;
-
-/****
- *DWORD_TO_DWORD
- */
- case function_dword_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_dword*/
- break;
-
-/****
- *DWORD_TO_DT
- */
- case function_dword_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_dt*/
- break;
-
-/****
- *DWORD_TO_TOD
- */
- case function_dword_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_tod*/
- break;
-
-/****
- *DWORD_TO_UDINT
- */
- case function_dword_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_udint*/
- break;
-
-/****
- *DWORD_TO_WORD
- */
- case function_dword_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_word*/
- break;
-
-/****
- *DWORD_TO_WSTRING
- */
- case function_dword_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_wstring*/
- break;
-
-/****
- *DWORD_TO_STRING
- */
- case function_dword_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_string*/
- break;
-
-/****
- *DWORD_TO_LWORD
- */
- case function_dword_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_lword*/
- break;
-
-/****
- *DWORD_TO_UINT
- */
- case function_dword_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_uint*/
- break;
-
-/****
- *DWORD_TO_LREAL
- */
- case function_dword_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_lreal*/
- break;
-
-/****
- *DWORD_TO_BYTE
- */
- case function_dword_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_byte*/
- break;
-
-/****
- *DWORD_TO_USINT
- */
- case function_dword_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_usint*/
- break;
-
-/****
- *DWORD_TO_ULINT
- */
- case function_dword_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_ulint*/
- break;
-
-/****
- *DWORD_TO_BOOL
- */
- case function_dword_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_bool*/
- break;
-
-/****
- *DWORD_TO_TIME
- */
- case function_dword_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_time*/
- break;
-
-/****
- *DWORD_TO_INT
- */
- case function_dword_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_int*/
- break;
+ case function_date_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_wstring*/
+ break;
+
+/****
+ *TOD_TO_REAL
+ */
+ case function_tod_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_real*/
+ break;
+
+/****
+ *TOD_TO_LREAL
+ */
+ case function_tod_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lreal*/
+ break;
+
+/****
+ *TOD_TO_SINT
+ */
+ case function_tod_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_sint*/
+ break;
+
+/****
+ *TOD_TO_INT
+ */
+ case function_tod_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_int*/
+ break;
+
+/****
+ *TOD_TO_DINT
+ */
+ case function_tod_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_dint*/
+ break;
+
+/****
+ *TOD_TO_LINT
+ */
+ case function_tod_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lint*/
+ break;
+
+/****
+ *TOD_TO_USINT
+ */
+ case function_tod_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_usint*/
+ break;
+
+/****
+ *TOD_TO_UINT
+ */
+ case function_tod_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_uint*/
+ break;
+
+/****
+ *TOD_TO_UDINT
+ */
+ case function_tod_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_udint*/
+ break;
+
+/****
+ *TOD_TO_ULINT
+ */
+ case function_tod_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_ulint*/
+ break;
+
+/****
+ *TOD_TO_BOOL
+ */
+ case function_tod_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_bool*/
+ break;
+
+/****
+ *TOD_TO_BYTE
+ */
+ case function_tod_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_byte*/
+ break;
+
+/****
+ *TOD_TO_WORD
+ */
+ case function_tod_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_word*/
+ break;
+
+/****
+ *TOD_TO_DWORD
+ */
+ case function_tod_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_dword*/
+ break;
+
+/****
+ *TOD_TO_LWORD
+ */
+ case function_tod_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lword*/
+ break;
+
+/****
+ *TOD_TO_STRING
+ */
+ case function_tod_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_string*/
+ break;
+
+/****
+ *TOD_TO_WSTRING
+ */
+ case function_tod_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_wstring*/
+ break;
/****
*DT_TO_REAL
*/
- case function_dt_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_real*/
- break;
+ case function_dt_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_real*/
+ break;
+
+/****
+ *DT_TO_LREAL
+ */
+ case function_dt_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lreal*/
+ break;
/****
*DT_TO_SINT
*/
- case function_dt_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_sint*/
- break;
+ case function_dt_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_sint*/
+ break;
+
+/****
+ *DT_TO_INT
+ */
+ case function_dt_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_int*/
+ break;
+
+/****
+ *DT_TO_DINT
+ */
+ case function_dt_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_dint*/
+ break;
/****
*DT_TO_LINT
*/
- case function_dt_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_lint*/
- break;
-
-/****
- *DT_TO_DINT
- */
- case function_dt_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_dint*/
- break;
-
-/****
- *DT_TO_DATE
- */
- case function_dt_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_date*/
- break;
+ case function_dt_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lint*/
+ break;
+
+/****
+ *DT_TO_USINT
+ */
+ case function_dt_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_usint*/
+ break;
+
+/****
+ *DT_TO_UINT
+ */
+ case function_dt_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_uint*/
+ break;
+
+/****
+ *DT_TO_UDINT
+ */
+ case function_dt_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_udint*/
+ break;
+
+/****
+ *DT_TO_ULINT
+ */
+ case function_dt_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_ulint*/
+ break;
+
+/****
+ *DT_TO_BOOL
+ */
+ case function_dt_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_bool*/
+ break;
+
+/****
+ *DT_TO_BYTE
+ */
+ case function_dt_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_byte*/
+ break;
+
+/****
+ *DT_TO_WORD
+ */
+ case function_dt_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_word*/
+ break;
/****
*DT_TO_DWORD
*/
- case function_dt_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_dword*/
- break;
-
-/****
- *DT_TO_DT
- */
- case function_dt_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_dt*/
- break;
-
-/****
- *DT_TO_TOD
- */
- case function_dt_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_tod*/
- break;
-
-/****
- *DT_TO_UDINT
- */
- case function_dt_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_udint*/
- break;
-
-/****
- *DT_TO_WORD
- */
- case function_dt_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_word*/
- break;
+ case function_dt_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_dword*/
+ break;
+
+/****
+ *DT_TO_LWORD
+ */
+ case function_dt_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lword*/
+ break;
+
+/****
+ *DT_TO_STRING
+ */
+ case function_dt_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_string*/
+ break;
/****
*DT_TO_WSTRING
*/
- case function_dt_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_wstring*/
- break;
-
-/****
- *DT_TO_STRING
- */
- case function_dt_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_string*/
- break;
-
-/****
- *DT_TO_LWORD
- */
- case function_dt_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_lword*/
- break;
-
-/****
- *DT_TO_UINT
- */
- case function_dt_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_uint*/
- break;
-
-/****
- *DT_TO_LREAL
- */
- case function_dt_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_lreal*/
- break;
-
-/****
- *DT_TO_BYTE
- */
- case function_dt_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_byte*/
- break;
-
-/****
- *DT_TO_USINT
- */
- case function_dt_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_usint*/
- break;
-
-/****
- *DT_TO_ULINT
- */
- case function_dt_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_ulint*/
- break;
-
-/****
- *DT_TO_BOOL
- */
- case function_dt_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_bool*/
- break;
-
-/****
- *DT_TO_TIME
- */
- case function_dt_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_time*/
- break;
-
-/****
- *DT_TO_INT
- */
- case function_dt_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_int*/
- break;
-
-/****
- *TOD_TO_REAL
- */
- case function_tod_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_real*/
- break;
-
-/****
- *TOD_TO_SINT
- */
- case function_tod_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_sint*/
- break;
-
-/****
- *TOD_TO_LINT
- */
- case function_tod_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_lint*/
- break;
-
-/****
- *TOD_TO_DINT
- */
- case function_tod_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_dint*/
- break;
-
-/****
- *TOD_TO_DATE
- */
- case function_tod_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_date*/
- break;
-
-/****
- *TOD_TO_DWORD
- */
- case function_tod_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_dword*/
- break;
-
-/****
- *TOD_TO_DT
- */
- case function_tod_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_dt*/
- break;
-
-/****
- *TOD_TO_TOD
- */
- case function_tod_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_tod*/
- break;
-
-/****
- *TOD_TO_UDINT
- */
- case function_tod_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_udint*/
- break;
-
-/****
- *TOD_TO_WORD
- */
- case function_tod_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_word*/
- break;
-
-/****
- *TOD_TO_WSTRING
- */
- case function_tod_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_wstring*/
- break;
-
-/****
- *TOD_TO_STRING
- */
- case function_tod_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_string*/
- break;
-
-/****
- *TOD_TO_LWORD
- */
- case function_tod_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_lword*/
- break;
-
-/****
- *TOD_TO_UINT
- */
- case function_tod_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_uint*/
- break;
-
-/****
- *TOD_TO_LREAL
- */
- case function_tod_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_lreal*/
- break;
-
-/****
- *TOD_TO_BYTE
- */
- case function_tod_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_byte*/
- break;
-
-/****
- *TOD_TO_USINT
- */
- case function_tod_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_usint*/
- break;
-
-/****
- *TOD_TO_ULINT
- */
- case function_tod_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_ulint*/
- break;
-
-/****
- *TOD_TO_BOOL
- */
- case function_tod_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_bool*/
- break;
-
-/****
- *TOD_TO_TIME
- */
- case function_tod_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_time*/
- break;
-
-/****
- *TOD_TO_INT
- */
- case function_tod_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_int*/
- break;
-
-/****
- *UDINT_TO_REAL
- */
- case function_udint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_real*/
- break;
-
-/****
- *UDINT_TO_SINT
- */
- case function_udint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_sint*/
- break;
-
-/****
- *UDINT_TO_LINT
- */
- case function_udint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_lint*/
- break;
-
-/****
- *UDINT_TO_DINT
- */
- case function_udint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_dint*/
- break;
-
-/****
- *UDINT_TO_DATE
- */
- case function_udint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_date*/
- break;
-
-/****
- *UDINT_TO_DWORD
- */
- case function_udint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_dword*/
- break;
-
-/****
- *UDINT_TO_DT
- */
- case function_udint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_dt*/
- break;
-
-/****
- *UDINT_TO_TOD
- */
- case function_udint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_tod*/
- break;
-
-/****
- *UDINT_TO_UDINT
- */
- case function_udint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_udint*/
- break;
-
-/****
- *UDINT_TO_WORD
- */
- case function_udint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_word*/
- break;
-
-/****
- *UDINT_TO_WSTRING
- */
- case function_udint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_wstring*/
- break;
-
-/****
- *UDINT_TO_STRING
- */
- case function_udint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_string*/
- break;
-
-/****
- *UDINT_TO_LWORD
- */
- case function_udint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_lword*/
- break;
-
-/****
- *UDINT_TO_UINT
- */
- case function_udint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_uint*/
- break;
-
-/****
- *UDINT_TO_LREAL
- */
- case function_udint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_lreal*/
- break;
-
-/****
- *UDINT_TO_BYTE
- */
- case function_udint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_byte*/
- break;
-
-/****
- *UDINT_TO_USINT
- */
- case function_udint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_usint*/
- break;
-
-/****
- *UDINT_TO_ULINT
- */
- case function_udint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_ulint*/
- break;
-
-/****
- *UDINT_TO_BOOL
- */
- case function_udint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_bool*/
- break;
-
-/****
- *UDINT_TO_TIME
- */
- case function_udint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_time*/
- break;
-
-/****
- *UDINT_TO_INT
- */
- case function_udint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_int*/
- break;
-
-/****
- *WORD_TO_REAL
- */
- case function_word_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_real*/
- break;
-
-/****
- *WORD_TO_SINT
- */
- case function_word_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_sint*/
- break;
-
-/****
- *WORD_TO_LINT
- */
- case function_word_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_lint*/
- break;
-
-/****
- *WORD_TO_DINT
- */
- case function_word_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_dint*/
- break;
-
-/****
- *WORD_TO_DATE
- */
- case function_word_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_date*/
- break;
-
-/****
- *WORD_TO_DWORD
- */
- case function_word_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_dword*/
- break;
-
-/****
- *WORD_TO_DT
- */
- case function_word_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_dt*/
- break;
-
-/****
- *WORD_TO_TOD
- */
- case function_word_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_tod*/
- break;
-
-/****
- *WORD_TO_UDINT
- */
- case function_word_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_udint*/
- break;
-
-/****
- *WORD_TO_WORD
- */
- case function_word_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_word*/
- break;
-
-/****
- *WORD_TO_WSTRING
- */
- case function_word_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_wstring*/
- break;
-
-/****
- *WORD_TO_STRING
- */
- case function_word_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_string*/
- break;
-
-/****
- *WORD_TO_LWORD
- */
- case function_word_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_lword*/
- break;
-
-/****
- *WORD_TO_UINT
- */
- case function_word_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_uint*/
- break;
-
-/****
- *WORD_TO_LREAL
- */
- case function_word_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_lreal*/
- break;
-
-/****
- *WORD_TO_BYTE
- */
- case function_word_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_byte*/
- break;
-
-/****
- *WORD_TO_USINT
- */
- case function_word_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_usint*/
- break;
-
-/****
- *WORD_TO_ULINT
- */
- case function_word_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_ulint*/
- break;
-
-/****
- *WORD_TO_BOOL
- */
- case function_word_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_bool*/
- break;
-
-/****
- *WORD_TO_TIME
- */
- case function_word_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_time*/
- break;
-
-/****
- *WORD_TO_INT
- */
- case function_word_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_int*/
- break;
-
-/****
- *WSTRING_TO_REAL
- */
- case function_wstring_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_real*/
- break;
-
-/****
- *WSTRING_TO_SINT
- */
- case function_wstring_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_sint*/
- break;
-
-/****
- *WSTRING_TO_LINT
- */
- case function_wstring_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_lint*/
- break;
-
-/****
- *WSTRING_TO_DINT
- */
- case function_wstring_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_dint*/
- break;
-
-/****
- *WSTRING_TO_DATE
- */
- case function_wstring_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_date*/
- break;
-
-/****
- *WSTRING_TO_DWORD
- */
- case function_wstring_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_dword*/
- break;
-
-/****
- *WSTRING_TO_DT
- */
- case function_wstring_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_dt*/
- break;
-
-/****
- *WSTRING_TO_TOD
- */
- case function_wstring_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_tod*/
- break;
-
-/****
- *WSTRING_TO_UDINT
- */
- case function_wstring_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_udint*/
- break;
-
-/****
- *WSTRING_TO_WORD
- */
- case function_wstring_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_word*/
- break;
-
-/****
- *WSTRING_TO_WSTRING
- */
- case function_wstring_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_wstring*/
- break;
-
-/****
- *WSTRING_TO_STRING
- */
- case function_wstring_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_string*/
- break;
-
-/****
- *WSTRING_TO_LWORD
- */
- case function_wstring_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_lword*/
- break;
-
-/****
- *WSTRING_TO_UINT
- */
- case function_wstring_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_uint*/
- break;
-
-/****
- *WSTRING_TO_LREAL
- */
- case function_wstring_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_lreal*/
- break;
-
-/****
- *WSTRING_TO_BYTE
- */
- case function_wstring_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_byte*/
- break;
-
-/****
- *WSTRING_TO_USINT
- */
- case function_wstring_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_usint*/
- break;
-
-/****
- *WSTRING_TO_ULINT
- */
- case function_wstring_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_ulint*/
- break;
-
-/****
- *WSTRING_TO_BOOL
- */
- case function_wstring_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_bool*/
- break;
-
-/****
- *WSTRING_TO_TIME
- */
- case function_wstring_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_time*/
- break;
-
-/****
- *WSTRING_TO_INT
- */
- case function_wstring_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_int*/
- break;
-
-/****
- *STRING_TO_REAL
- */
- case function_string_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_real*/
- break;
-
-/****
- *STRING_TO_SINT
- */
- case function_string_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_sint*/
- break;
-
-/****
- *STRING_TO_LINT
- */
- case function_string_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_lint*/
- break;
-
-/****
- *STRING_TO_DINT
- */
- case function_string_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_dint*/
- break;
-
-/****
- *STRING_TO_DATE
- */
- case function_string_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_date*/
- break;
-
-/****
- *STRING_TO_DWORD
- */
- case function_string_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_dword*/
- break;
-
-/****
- *STRING_TO_DT
- */
- case function_string_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_dt*/
- break;
-
-/****
- *STRING_TO_TOD
- */
- case function_string_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_tod*/
- break;
-
-/****
- *STRING_TO_UDINT
- */
- case function_string_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_udint*/
- break;
-
-/****
- *STRING_TO_WORD
- */
- case function_string_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_word*/
- break;
-
-/****
- *STRING_TO_WSTRING
- */
- case function_string_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_wstring*/
- break;
-
-/****
- *STRING_TO_STRING
- */
- case function_string_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_string*/
- break;
-
-/****
- *STRING_TO_LWORD
- */
- case function_string_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_lword*/
- break;
-
-/****
- *STRING_TO_UINT
- */
- case function_string_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_uint*/
- break;
-
-/****
- *STRING_TO_LREAL
- */
- case function_string_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_lreal*/
- break;
-
-/****
- *STRING_TO_BYTE
- */
- case function_string_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_byte*/
- break;
-
-/****
- *STRING_TO_USINT
- */
- case function_string_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_usint*/
- break;
-
-/****
- *STRING_TO_ULINT
- */
- case function_string_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_ulint*/
- break;
-
-/****
- *STRING_TO_BOOL
- */
- case function_string_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_bool*/
- break;
-
-/****
- *STRING_TO_TIME
- */
- case function_string_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_time*/
- break;
-
-/****
- *STRING_TO_INT
- */
- case function_string_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_int*/
- break;
-
-/****
- *LWORD_TO_REAL
- */
- case function_lword_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_real*/
- break;
-
-/****
- *LWORD_TO_SINT
- */
- case function_lword_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_sint*/
- break;
-
-/****
- *LWORD_TO_LINT
- */
- case function_lword_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_lint*/
- break;
-
-/****
- *LWORD_TO_DINT
- */
- case function_lword_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_dint*/
- break;
-
-/****
- *LWORD_TO_DATE
- */
- case function_lword_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_date*/
- break;
-
-/****
- *LWORD_TO_DWORD
- */
- case function_lword_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_dword*/
- break;
-
-/****
- *LWORD_TO_DT
- */
- case function_lword_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_dt*/
- break;
-
-/****
- *LWORD_TO_TOD
- */
- case function_lword_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_tod*/
- break;
-
-/****
- *LWORD_TO_UDINT
- */
- case function_lword_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_udint*/
- break;
-
-/****
- *LWORD_TO_WORD
- */
- case function_lword_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_word*/
- break;
-
-/****
- *LWORD_TO_WSTRING
- */
- case function_lword_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_wstring*/
- break;
-
-/****
- *LWORD_TO_STRING
- */
- case function_lword_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_string*/
- break;
-
-/****
- *LWORD_TO_LWORD
- */
- case function_lword_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_lword*/
- break;
-
-/****
- *LWORD_TO_UINT
- */
- case function_lword_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_uint*/
- break;
-
-/****
- *LWORD_TO_LREAL
- */
- case function_lword_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_lreal*/
- break;
-
-/****
- *LWORD_TO_BYTE
- */
- case function_lword_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_byte*/
- break;
-
-/****
- *LWORD_TO_USINT
- */
- case function_lword_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_usint*/
- break;
-
-/****
- *LWORD_TO_ULINT
- */
- case function_lword_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_ulint*/
- break;
-
-/****
- *LWORD_TO_BOOL
- */
- case function_lword_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_bool*/
- break;
-
-/****
- *LWORD_TO_TIME
- */
- case function_lword_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_time*/
- break;
-
-/****
- *LWORD_TO_INT
- */
- case function_lword_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_int*/
- break;
-
-/****
- *UINT_TO_REAL
- */
- case function_uint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_real*/
- break;
-
-/****
- *UINT_TO_SINT
- */
- case function_uint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_sint*/
- break;
-
-/****
- *UINT_TO_LINT
- */
- case function_uint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_lint*/
- break;
-
-/****
- *UINT_TO_DINT
- */
- case function_uint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_dint*/
- break;
-
-/****
- *UINT_TO_DATE
- */
- case function_uint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_date*/
- break;
-
-/****
- *UINT_TO_DWORD
- */
- case function_uint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_dword*/
- break;
-
-/****
- *UINT_TO_DT
- */
- case function_uint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_dt*/
- break;
-
-/****
- *UINT_TO_TOD
- */
- case function_uint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_tod*/
- break;
-
-/****
- *UINT_TO_UDINT
- */
- case function_uint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_udint*/
- break;
-
-/****
- *UINT_TO_WORD
- */
- case function_uint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_word*/
- break;
-
-/****
- *UINT_TO_WSTRING
- */
- case function_uint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_wstring*/
- break;
-
-/****
- *UINT_TO_STRING
- */
- case function_uint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_string*/
- break;
-
-/****
- *UINT_TO_LWORD
- */
- case function_uint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_lword*/
- break;
-
-/****
- *UINT_TO_UINT
- */
- case function_uint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_uint*/
- break;
-
-/****
- *UINT_TO_LREAL
- */
- case function_uint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_lreal*/
- break;
-
-/****
- *UINT_TO_BYTE
- */
- case function_uint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_byte*/
- break;
-
-/****
- *UINT_TO_USINT
- */
- case function_uint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_usint*/
- break;
-
-/****
- *UINT_TO_ULINT
- */
- case function_uint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_ulint*/
- break;
-
-/****
- *UINT_TO_BOOL
- */
- case function_uint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_bool*/
- break;
-
-/****
- *UINT_TO_TIME
- */
- case function_uint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_time*/
- break;
-
-/****
- *UINT_TO_INT
- */
- case function_uint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_int*/
- break;
-
-/****
- *LREAL_TO_REAL
- */
- case function_lreal_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_real*/
- break;
-
-/****
- *LREAL_TO_SINT
- */
- case function_lreal_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_sint*/
- break;
-
-/****
- *LREAL_TO_LINT
- */
- case function_lreal_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_lint*/
- break;
-
-/****
- *LREAL_TO_DINT
- */
- case function_lreal_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_dint*/
- break;
-
-/****
- *LREAL_TO_DATE
- */
- case function_lreal_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_date*/
- break;
-
-/****
- *LREAL_TO_DWORD
- */
- case function_lreal_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_dword*/
- break;
-
-/****
- *LREAL_TO_DT
- */
- case function_lreal_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_dt*/
- break;
-
-/****
- *LREAL_TO_TOD
- */
- case function_lreal_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_tod*/
- break;
-
-/****
- *LREAL_TO_UDINT
- */
- case function_lreal_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_udint*/
- break;
-
-/****
- *LREAL_TO_WORD
- */
- case function_lreal_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_word*/
- break;
-
-/****
- *LREAL_TO_WSTRING
- */
- case function_lreal_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_wstring*/
- break;
-
-/****
- *LREAL_TO_STRING
- */
- case function_lreal_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_string*/
- break;
-
-/****
- *LREAL_TO_LWORD
- */
- case function_lreal_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_lword*/
- break;
-
-/****
- *LREAL_TO_UINT
- */
- case function_lreal_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_uint*/
- break;
-
-/****
- *LREAL_TO_LREAL
- */
- case function_lreal_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_lreal*/
- break;
-
-/****
- *LREAL_TO_BYTE
- */
- case function_lreal_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_byte*/
- break;
-
-/****
- *LREAL_TO_USINT
- */
- case function_lreal_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_usint*/
- break;
-
-/****
- *LREAL_TO_ULINT
- */
- case function_lreal_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_ulint*/
- break;
-
-/****
- *LREAL_TO_BOOL
- */
- case function_lreal_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_bool*/
- break;
-
-/****
- *LREAL_TO_TIME
- */
- case function_lreal_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_time*/
- break;
-
-/****
- *LREAL_TO_INT
- */
- case function_lreal_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_int*/
- break;
-
-/****
- *BYTE_TO_REAL
- */
- case function_byte_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_real*/
- break;
-
-/****
- *BYTE_TO_SINT
- */
- case function_byte_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_sint*/
- break;
-
-/****
- *BYTE_TO_LINT
- */
- case function_byte_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_lint*/
- break;
-
-/****
- *BYTE_TO_DINT
- */
- case function_byte_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_dint*/
- break;
-
-/****
- *BYTE_TO_DATE
- */
- case function_byte_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_date*/
- break;
-
-/****
- *BYTE_TO_DWORD
- */
- case function_byte_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_dword*/
- break;
-
-/****
- *BYTE_TO_DT
- */
- case function_byte_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_dt*/
- break;
-
-/****
- *BYTE_TO_TOD
- */
- case function_byte_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_tod*/
- break;
-
-/****
- *BYTE_TO_UDINT
- */
- case function_byte_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_udint*/
- break;
-
-/****
- *BYTE_TO_WORD
- */
- case function_byte_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_word*/
- break;
-
-/****
- *BYTE_TO_WSTRING
- */
- case function_byte_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_wstring*/
- break;
-
-/****
- *BYTE_TO_STRING
- */
- case function_byte_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_string*/
- break;
-
-/****
- *BYTE_TO_LWORD
- */
- case function_byte_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_lword*/
- break;
-
-/****
- *BYTE_TO_UINT
- */
- case function_byte_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_uint*/
- break;
-
-/****
- *BYTE_TO_LREAL
- */
- case function_byte_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_lreal*/
- break;
-
-/****
- *BYTE_TO_BYTE
- */
- case function_byte_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_byte*/
- break;
-
-/****
- *BYTE_TO_USINT
- */
- case function_byte_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_usint*/
- break;
-
-/****
- *BYTE_TO_ULINT
- */
- case function_byte_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_ulint*/
- break;
-
-/****
- *BYTE_TO_BOOL
- */
- case function_byte_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_bool*/
- break;
-
-/****
- *BYTE_TO_TIME
- */
- case function_byte_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_time*/
- break;
-
-/****
- *BYTE_TO_INT
- */
- case function_byte_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_int*/
- break;
-
-/****
- *USINT_TO_REAL
- */
- case function_usint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_real*/
- break;
-
-/****
- *USINT_TO_SINT
- */
- case function_usint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_sint*/
- break;
-
-/****
- *USINT_TO_LINT
- */
- case function_usint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_lint*/
- break;
-
-/****
- *USINT_TO_DINT
- */
- case function_usint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_dint*/
- break;
-
-/****
- *USINT_TO_DATE
- */
- case function_usint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_date*/
- break;
-
-/****
- *USINT_TO_DWORD
- */
- case function_usint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_dword*/
- break;
-
-/****
- *USINT_TO_DT
- */
- case function_usint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_dt*/
- break;
-
-/****
- *USINT_TO_TOD
- */
- case function_usint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_tod*/
- break;
-
-/****
- *USINT_TO_UDINT
- */
- case function_usint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_udint*/
- break;
-
-/****
- *USINT_TO_WORD
- */
- case function_usint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_word*/
- break;
-
-/****
- *USINT_TO_WSTRING
- */
- case function_usint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_wstring*/
- break;
-
-/****
- *USINT_TO_STRING
- */
- case function_usint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_string*/
- break;
-
-/****
- *USINT_TO_LWORD
- */
- case function_usint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_lword*/
- break;
-
-/****
- *USINT_TO_UINT
- */
- case function_usint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_uint*/
- break;
-
-/****
- *USINT_TO_LREAL
- */
- case function_usint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_lreal*/
- break;
-
-/****
- *USINT_TO_BYTE
- */
- case function_usint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_byte*/
- break;
-
-/****
- *USINT_TO_USINT
- */
- case function_usint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_usint*/
- break;
-
-/****
- *USINT_TO_ULINT
- */
- case function_usint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_ulint*/
- break;
-
-/****
- *USINT_TO_BOOL
- */
- case function_usint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_bool*/
- break;
-
-/****
- *USINT_TO_TIME
- */
- case function_usint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_time*/
- break;
-
-/****
- *USINT_TO_INT
- */
- case function_usint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_int*/
- break;
-
-/****
- *ULINT_TO_REAL
- */
- case function_ulint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_real*/
- break;
-
-/****
- *ULINT_TO_SINT
- */
- case function_ulint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_sint*/
- break;
-
-/****
- *ULINT_TO_LINT
- */
- case function_ulint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_lint*/
- break;
-
-/****
- *ULINT_TO_DINT
- */
- case function_ulint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_dint*/
- break;
-
-/****
- *ULINT_TO_DATE
- */
- case function_ulint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_date*/
- break;
-
-/****
- *ULINT_TO_DWORD
- */
- case function_ulint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_dword*/
- break;
-
-/****
- *ULINT_TO_DT
- */
- case function_ulint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_dt*/
- break;
-
-/****
- *ULINT_TO_TOD
- */
- case function_ulint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_tod*/
- break;
-
-/****
- *ULINT_TO_UDINT
- */
- case function_ulint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_udint*/
- break;
-
-/****
- *ULINT_TO_WORD
- */
- case function_ulint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_word*/
- break;
-
-/****
- *ULINT_TO_WSTRING
- */
- case function_ulint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_wstring*/
- break;
-
-/****
- *ULINT_TO_STRING
- */
- case function_ulint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_string*/
- break;
-
-/****
- *ULINT_TO_LWORD
- */
- case function_ulint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_lword*/
- break;
-
-/****
- *ULINT_TO_UINT
- */
- case function_ulint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_uint*/
- break;
-
-/****
- *ULINT_TO_LREAL
- */
- case function_ulint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_lreal*/
- break;
-
-/****
- *ULINT_TO_BYTE
- */
- case function_ulint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_byte*/
- break;
-
-/****
- *ULINT_TO_USINT
- */
- case function_ulint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_usint*/
- break;
-
-/****
- *ULINT_TO_ULINT
- */
- case function_ulint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_ulint*/
- break;
-
-/****
- *ULINT_TO_BOOL
- */
- case function_ulint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_bool*/
- break;
-
-/****
- *ULINT_TO_TIME
- */
- case function_ulint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_time*/
- break;
-
-/****
- *ULINT_TO_INT
- */
- case function_ulint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_int*/
- break;
-
-/****
- *BOOL_TO_REAL
- */
- case function_bool_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_real*/
- break;
-
-/****
- *BOOL_TO_SINT
- */
- case function_bool_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_sint*/
- break;
-
-/****
- *BOOL_TO_LINT
- */
- case function_bool_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_lint*/
- break;
-
-/****
- *BOOL_TO_DINT
- */
- case function_bool_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_dint*/
- break;
-
-/****
- *BOOL_TO_DATE
- */
- case function_bool_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_date*/
- break;
-
-/****
- *BOOL_TO_DWORD
- */
- case function_bool_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_dword*/
- break;
-
-/****
- *BOOL_TO_DT
- */
- case function_bool_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_dt*/
- break;
-
-/****
- *BOOL_TO_TOD
- */
- case function_bool_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_tod*/
- break;
-
-/****
- *BOOL_TO_UDINT
- */
- case function_bool_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_udint*/
- break;
-
-/****
- *BOOL_TO_WORD
- */
- case function_bool_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_word*/
- break;
-
-/****
- *BOOL_TO_WSTRING
- */
- case function_bool_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_wstring*/
- break;
-
-/****
- *BOOL_TO_STRING
- */
- case function_bool_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_string*/
- break;
-
-/****
- *BOOL_TO_LWORD
- */
- case function_bool_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_lword*/
- break;
-
-/****
- *BOOL_TO_UINT
- */
- case function_bool_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_uint*/
- break;
-
-/****
- *BOOL_TO_LREAL
- */
- case function_bool_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_lreal*/
- break;
-
-/****
- *BOOL_TO_BYTE
- */
- case function_bool_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_byte*/
- break;
-
-/****
- *BOOL_TO_USINT
- */
- case function_bool_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_usint*/
- break;
-
-/****
- *BOOL_TO_ULINT
- */
- case function_bool_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_ulint*/
- break;
-
-/****
- *BOOL_TO_BOOL
- */
- case function_bool_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_bool*/
- break;
-
-/****
- *BOOL_TO_TIME
- */
- case function_bool_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_time*/
- break;
-
-/****
- *BOOL_TO_INT
- */
- case function_bool_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_int*/
- break;
-
-/****
- *TIME_TO_REAL
- */
- case function_time_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_real*/
- break;
-
-/****
- *TIME_TO_SINT
- */
- case function_time_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_sint*/
- break;
-
-/****
- *TIME_TO_LINT
- */
- case function_time_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_lint*/
- break;
-
-/****
- *TIME_TO_DINT
- */
- case function_time_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_dint*/
- break;
-
-/****
- *TIME_TO_DATE
- */
- case function_time_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_date*/
- break;
-
-/****
- *TIME_TO_DWORD
- */
- case function_time_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_dword*/
- break;
-
-/****
- *TIME_TO_DT
- */
- case function_time_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_dt*/
- break;
-
-/****
- *TIME_TO_TOD
- */
- case function_time_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_tod*/
- break;
-
-/****
- *TIME_TO_UDINT
- */
- case function_time_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_udint*/
- break;
-
-/****
- *TIME_TO_WORD
- */
- case function_time_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_word*/
- break;
-
-/****
- *TIME_TO_WSTRING
- */
- case function_time_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_wstring*/
- break;
-
-/****
- *TIME_TO_STRING
- */
- case function_time_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_string*/
- break;
-
-/****
- *TIME_TO_LWORD
- */
- case function_time_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_lword*/
- break;
-
-/****
- *TIME_TO_UINT
- */
- case function_time_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_uint*/
- break;
-
-/****
- *TIME_TO_LREAL
- */
- case function_time_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_lreal*/
- break;
-
-/****
- *TIME_TO_BYTE
- */
- case function_time_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_byte*/
- break;
-
-/****
- *TIME_TO_USINT
- */
- case function_time_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_usint*/
- break;
-
-/****
- *TIME_TO_ULINT
- */
- case function_time_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_ulint*/
- break;
-
-/****
- *TIME_TO_BOOL
- */
- case function_time_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_bool*/
- break;
-
-/****
- *TIME_TO_TIME
- */
- case function_time_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_time*/
- break;
-
-/****
- *TIME_TO_INT
- */
- case function_time_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_int*/
- break;
-
-/****
- *INT_TO_REAL
- */
- case function_int_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_real*/
- break;
-
-/****
- *INT_TO_SINT
- */
- case function_int_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_sint*/
- break;
-
-/****
- *INT_TO_LINT
- */
- case function_int_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_lint*/
- break;
-
-/****
- *INT_TO_DINT
- */
- case function_int_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_dint*/
- break;
-
-/****
- *INT_TO_DATE
- */
- case function_int_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_date*/
- break;
-
-/****
- *INT_TO_DWORD
- */
- case function_int_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_dword*/
- break;
-
-/****
- *INT_TO_DT
- */
- case function_int_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_dt*/
- break;
-
-/****
- *INT_TO_TOD
- */
- case function_int_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_tod*/
- break;
-
-/****
- *INT_TO_UDINT
- */
- case function_int_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_udint*/
- break;
-
-/****
- *INT_TO_WORD
- */
- case function_int_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_word*/
- break;
-
-/****
- *INT_TO_WSTRING
- */
- case function_int_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_wstring*/
- break;
-
-/****
- *INT_TO_STRING
- */
- case function_int_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_string*/
- break;
-
-/****
- *INT_TO_LWORD
- */
- case function_int_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_lword*/
- break;
-
-/****
- *INT_TO_UINT
- */
- case function_int_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_uint*/
- break;
-
-/****
- *INT_TO_LREAL
- */
- case function_int_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_lreal*/
- break;
-
-/****
- *INT_TO_BYTE
- */
- case function_int_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_byte*/
- break;
-
-/****
- *INT_TO_USINT
- */
- case function_int_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_usint*/
- break;
-
-/****
- *INT_TO_ULINT
- */
- case function_int_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_ulint*/
- break;
-
-/****
- *INT_TO_BOOL
- */
- case function_int_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_bool*/
- break;
-
-/****
- *INT_TO_TIME
- */
- case function_int_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_time*/
- break;
-
-/****
- *INT_TO_INT
- */
- case function_int_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_int*/
- break;
+ case function_dt_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_wstring*/
+ break;
/****
*TRUNC
*/
- case function_trunc :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_trunc*/
- break;
+ case function_trunc :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_trunc*/
+ break;
/****
*BCD_TO_SINT
*/
- case function_bcd_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_sint*/
- break;
+ case function_bcd_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_sint*/
+ break;
+
+/****
+ *BCD_TO_INT
+ */
+ case function_bcd_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_int*/
+ break;
+
+/****
+ *BCD_TO_DINT
+ */
+ case function_bcd_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_dint*/
+ break;
/****
*BCD_TO_LINT
*/
- case function_bcd_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_lint*/
- break;
-
-/****
- *BCD_TO_DINT
- */
- case function_bcd_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_dint*/
- break;
+ case function_bcd_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_lint*/
+ break;
+
+/****
+ *BCD_TO_USINT
+ */
+ case function_bcd_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_usint*/
+ break;
+
+/****
+ *BCD_TO_UINT
+ */
+ case function_bcd_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_uint*/
+ break;
/****
*BCD_TO_UDINT
*/
- case function_bcd_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_udint*/
- break;
-
-/****
- *BCD_TO_UINT
- */
- case function_bcd_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_uint*/
- break;
-
-/****
- *BCD_TO_USINT
- */
- case function_bcd_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_usint*/
- break;
+ case function_bcd_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_udint*/
+ break;
/****
*BCD_TO_ULINT
*/
- case function_bcd_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_ulint*/
- break;
-
-/****
- *BCD_TO_INT
- */
- case function_bcd_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_int*/
- break;
+ case function_bcd_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_ulint*/
+ break;
/****
*SINT_TO_BCD
*/
- case function_sint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_bcd*/
- break;
+ case function_sint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_bcd*/
+ break;
+
+/****
+ *INT_TO_BCD
+ */
+ case function_int_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_bcd*/
+ break;
+
+/****
+ *DINT_TO_BCD
+ */
+ case function_dint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_bcd*/
+ break;
/****
*LINT_TO_BCD
*/
- case function_lint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_bcd*/
- break;
-
-/****
- *DINT_TO_BCD
- */
- case function_dint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_bcd*/
- break;
+ case function_lint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_bcd*/
+ break;
+
+/****
+ *USINT_TO_BCD
+ */
+ case function_usint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_bcd*/
+ break;
+
+/****
+ *UINT_TO_BCD
+ */
+ case function_uint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_bcd*/
+ break;
/****
*UDINT_TO_BCD
*/
- case function_udint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_bcd*/
- break;
-
-/****
- *UINT_TO_BCD
- */
- case function_uint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_bcd*/
- break;
-
-/****
- *USINT_TO_BCD
- */
- case function_usint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_bcd*/
- break;
+ case function_udint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_bcd*/
+ break;
/****
*ULINT_TO_BCD
*/
- case function_ulint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_bcd*/
- break;
-
-/****
- *INT_TO_BCD
- */
- case function_int_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_bcd*/
- break;
+ case function_ulint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_bcd*/
+ break;
/****
*DATE_AND_TIME_TO_TIME_OF_DAY
*/
- case function_date_and_time_to_time_of_day :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_and_time_to_time_of_day*/
- break;
+ case function_date_and_time_to_time_of_day :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_and_time_to_time_of_day*/
+ break;
/****
*DATE_AND_TIME_TO_DATE
*/
- case function_date_and_time_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_date_and_time_to_date*/
- break;
+ case function_date_and_time_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_and_time_to_date*/
+ break;
/****
*ABS
*/
- case function_abs :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_num_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_abs*/
- break;
+ case function_abs :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_abs*/
+ break;
/****
*SQRT
*/
- case function_sqrt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sqrt*/
- break;
+ case function_sqrt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sqrt*/
+ break;
/****
*LN
*/
- case function_ln :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_ln*/
- break;
+ case function_ln :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ln*/
+ break;
/****
*LOG
*/
- case function_log :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_log*/
- break;
+ case function_log :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_log*/
+ break;
/****
*EXP
*/
- case function_exp :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_exp*/
- break;
+ case function_exp :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_exp*/
+ break;
/****
*SIN
*/
- case function_sin :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_sin*/
- break;
+ case function_sin :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sin*/
+ break;
/****
*COS
*/
- case function_cos :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_cos*/
- break;
+ case function_cos :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_cos*/
+ break;
/****
*TAN
*/
- case function_tan :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_tan*/
- break;
+ case function_tan :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tan*/
+ break;
/****
*ASIN
*/
- case function_asin :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_asin*/
- break;
+ case function_asin :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_asin*/
+ break;
/****
*ACOS
*/
- case function_acos :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_acos*/
- break;
+ case function_acos :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_acos*/
+ break;
/****
*ATAN
*/
- case function_atan :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_atan*/
- break;
+ case function_atan :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_atan*/
+ break;
/****
*ADD
*/
- case function_add :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_add*/
- break;
+ case function_add :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_add*/
+ break;
/****
*MUL
*/
- case function_mul :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_mul*/
- break;
+ case function_mul :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mul*/
+ break;
/****
*SUB
*/
- case function_sub :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_sub*/
- break;
+ case function_sub :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sub*/
+ break;
/****
*DIV
*/
- case function_div :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_div*/
- break;
+ case function_div :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_div*/
+ break;
/****
*MOD
*/
- case function_mod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_mod*/
- break;
+ case function_mod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mod*/
+ break;
/****
*EXPT
*/
- case function_expt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_expt*/
- break;
+ case function_expt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_expt*/
+ break;
/****
*MOVE
*/
- case function_move :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_num_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_move*/
- break;
+ case function_move :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_num_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_move*/
+ break;
/****
*SHL
*/
- case function_shl :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- {
- identifier_c param_name("N");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (N_param_value == NULL)
- N_param_value = function_call_param_iterator.next();
- symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_shl*/
- break;
+ case function_shl :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_shl*/
+ break;
/****
*SHR
*/
- case function_shr :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- {
- identifier_c param_name("N");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (N_param_value == NULL)
- N_param_value = function_call_param_iterator.next();
- symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_shr*/
- break;
+ case function_shr :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_shr*/
+ break;
/****
*ROR
*/
- case function_ror :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- {
- identifier_c param_name("N");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (N_param_value == NULL)
- N_param_value = function_call_param_iterator.next();
- symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_ror*/
- break;
+ case function_ror :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ror*/
+ break;
/****
*ROL
*/
- case function_rol :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- {
- identifier_c param_name("N");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (N_param_value == NULL)
- N_param_value = function_call_param_iterator.next();
- symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_rol*/
- break;
+ case function_rol :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_rol*/
+ break;
/****
*AND
*/
- case function_and :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_and*/
- break;
+ case function_and :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_and*/
+ break;
/****
*OR
*/
- case function_or :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_or*/
- break;
+ case function_or :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_or*/
+ break;
/****
*XOR
*/
- case function_xor :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_xor*/
- break;
+ case function_xor :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_xor*/
+ break;
/****
*NOT
*/
- case function_not :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_not*/
- break;
+ case function_not :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_not*/
+ break;
/****
*SEL
*/
- case function_sel :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("G");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *G_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (G_param_value == NULL)
- G_param_value = function_call_param_iterator.next();
- symbol_c *G_type_symbol = search_expression_type->get_type(G_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(G_type_symbol, last_type_symbol) ? search_expression_type->common_type(G_type_symbol, last_type_symbol) : G_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- {
- identifier_c param_name("IN0");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN0_param_value == NULL)
- IN0_param_value = function_call_param_iterator.next();
- symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_sel*/
- break;
+ case function_sel :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *G_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN0");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN0_param_value == NULL)
+ IN0_param_value = function_call_param_iterator.next();
+ symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sel*/
+ break;
/****
*MAX
*/
- case function_max :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_max*/
- break;
+ case function_max :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_max*/
+ break;
/****
*MIN
*/
- case function_min :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_min*/
- break;
+ case function_min :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_min*/
+ break;
/****
*LIMIT
*/
- case function_limit :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("MN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *MN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (MN_param_value == NULL)
- MN_param_value = function_call_param_iterator.next();
- symbol_c *MN_type_symbol = search_expression_type->get_type(MN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MN_type_symbol, last_type_symbol) ? search_expression_type->common_type(MN_type_symbol, last_type_symbol) : MN_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("MX");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *MX_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (MX_param_value == NULL)
- MX_param_value = function_call_param_iterator.next();
- symbol_c *MX_type_symbol = search_expression_type->get_type(MX_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_limit*/
- break;
+ case function_limit :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *MN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("MX");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *MX_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (MX_param_value == NULL)
+ MX_param_value = function_call_param_iterator.next();
+ symbol_c *MX_type_symbol = search_expression_type->get_type(MX_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_limit*/
+ break;
/****
*MUX
*/
- case function_mux :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("K");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *K_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (K_param_value == NULL)
- K_param_value = function_call_param_iterator.next();
- symbol_c *K_type_symbol = search_expression_type->get_type(K_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(K_type_symbol, last_type_symbol) ? search_expression_type->common_type(K_type_symbol, last_type_symbol) : K_type_symbol ;
-
- if(search_expression_type->is_integer_type(K_type_symbol))
- {
-
- {
- identifier_c param_name("IN0");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN0_param_value == NULL)
- IN0_param_value = function_call_param_iterator.next();
- symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_mux*/
- break;
+ case function_mux :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *K_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if(search_expression_type->is_integer_type(K_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN0");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN0_param_value == NULL)
+ IN0_param_value = function_call_param_iterator.next();
+ symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mux*/
+ break;
/****
*GT
*/
- case function_gt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_gt*/
- break;
+ case function_gt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_gt*/
+ break;
/****
*GE
*/
- case function_ge :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_ge*/
- break;
+ case function_ge :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ge*/
+ break;
/****
*EQ
*/
- case function_eq :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_eq*/
- break;
+ case function_eq :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_eq*/
+ break;
/****
*LT
*/
- case function_lt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_lt*/
- break;
+ case function_lt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lt*/
+ break;
/****
*LE
*/
- case function_le :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_le*/
- break;
+ case function_le :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_le*/
+ break;
/****
*NE
*/
- case function_ne :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_ne*/
- break;
+ case function_ne :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ne*/
+ break;
/****
*LEN
*/
- case function_len :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }/*function_len*/
- break;
+ case function_len :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_len*/
+ break;
/****
*LEFT
*/
- case function_left :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("L");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (L_param_value == NULL)
- L_param_value = function_call_param_iterator.next();
- symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_left*/
- break;
+ case function_left :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_left*/
+ break;
/****
*RIGHT
*/
- case function_right :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("L");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (L_param_value == NULL)
- L_param_value = function_call_param_iterator.next();
- symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_right*/
- break;
+ case function_right :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_right*/
+ break;
/****
*MID
*/
- case function_mid :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("L");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (L_param_value == NULL)
- L_param_value = function_call_param_iterator.next();
- symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- {
- identifier_c param_name("P");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (P_param_value == NULL)
- P_param_value = function_call_param_iterator.next();
- symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_mid*/
- break;
+ case function_mid :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mid*/
+ break;
/****
*CONCAT
*/
- case function_concat :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_concat*/
- break;
+ case function_concat :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_concat*/
+ break;
/****
*INSERT
*/
- case function_insert :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("P");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (P_param_value == NULL)
- P_param_value = function_call_param_iterator.next();
- symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_insert*/
- break;
+ case function_insert :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_insert*/
+ break;
/****
*DELETE
*/
- case function_delete :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("L");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (L_param_value == NULL)
- L_param_value = function_call_param_iterator.next();
- symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- {
- identifier_c param_name("P");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (P_param_value == NULL)
- P_param_value = function_call_param_iterator.next();
- symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_delete*/
- break;
+ case function_delete :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_delete*/
+ break;
/****
*REPLACE
*/
- case function_replace :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("L");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (L_param_value == NULL)
- L_param_value = function_call_param_iterator.next();
- symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- {
- identifier_c param_name("P");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (P_param_value == NULL)
- P_param_value = function_call_param_iterator.next();
- symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_replace*/
- break;
+ case function_replace :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_replace*/
+ break;
/****
*FIND
*/
- case function_find :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- return return_type_symbol;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_find*/
- break;
-
- case function_none :
- ERROR;
+ case function_find :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ symbol_c *IN1_type_symbol = param_data_type;
+ last_type_symbol = param_data_type;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ return return_type_symbol;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_find*/
+ break;
+
+ case function_none :
+ ERROR;
+ }
+ return NULL;
}
-return NULL;
--- a/stage4/generate_cc/st_code_gen.c Tue Jun 19 08:42:10 2007 +0200
+++ b/stage4/generate_cc/st_code_gen.c Thu Jun 21 10:22:32 2007 +0200
@@ -6,19958 +6,18758 @@
switch(current_function_type){
/****
- *REAL_TO_REAL
- */
- case function_real_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_real*/
- break;
+ *REAL_TO_LREAL
+ */
+ case function_real_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lreal*/
+ break;
/****
*REAL_TO_SINT
*/
- case function_real_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_sint*/
- break;
+ case function_real_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_sint*/
+ break;
+
+/****
+ *REAL_TO_INT
+ */
+ case function_real_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_int*/
+ break;
+
+/****
+ *REAL_TO_DINT
+ */
+ case function_real_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dint*/
+ break;
/****
*REAL_TO_LINT
*/
- case function_real_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_lint*/
- break;
-
-/****
- *REAL_TO_DINT
- */
- case function_real_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_dint*/
- break;
+ case function_real_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lint*/
+ break;
+
+/****
+ *REAL_TO_USINT
+ */
+ case function_real_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_usint*/
+ break;
+
+/****
+ *REAL_TO_UINT
+ */
+ case function_real_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_uint*/
+ break;
+
+/****
+ *REAL_TO_UDINT
+ */
+ case function_real_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_udint*/
+ break;
+
+/****
+ *REAL_TO_ULINT
+ */
+ case function_real_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_ulint*/
+ break;
+
+/****
+ *REAL_TO_TIME
+ */
+ case function_real_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_time*/
+ break;
+
+/****
+ *REAL_TO_BOOL
+ */
+ case function_real_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_bool*/
+ break;
+
+/****
+ *REAL_TO_BYTE
+ */
+ case function_real_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_byte*/
+ break;
+
+/****
+ *REAL_TO_WORD
+ */
+ case function_real_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_word*/
+ break;
+
+/****
+ *REAL_TO_DWORD
+ */
+ case function_real_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dword*/
+ break;
+
+/****
+ *REAL_TO_LWORD
+ */
+ case function_real_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_lword*/
+ break;
+
+/****
+ *REAL_TO_STRING
+ */
+ case function_real_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_string*/
+ break;
+
+/****
+ *REAL_TO_WSTRING
+ */
+ case function_real_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_wstring*/
+ break;
/****
*REAL_TO_DATE
*/
- case function_real_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_date*/
- break;
-
-/****
- *REAL_TO_DWORD
- */
- case function_real_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_dword*/
- break;
+ case function_real_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_date*/
+ break;
+
+/****
+ *REAL_TO_TOD
+ */
+ case function_real_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_tod*/
+ break;
/****
*REAL_TO_DT
*/
- case function_real_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_dt*/
- break;
-
-/****
- *REAL_TO_TOD
- */
- case function_real_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_tod*/
- break;
-
-/****
- *REAL_TO_UDINT
- */
- case function_real_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_udint*/
- break;
-
-/****
- *REAL_TO_WORD
- */
- case function_real_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_word*/
- break;
-
-/****
- *REAL_TO_WSTRING
- */
- case function_real_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_wstring*/
- break;
-
-/****
- *REAL_TO_STRING
- */
- case function_real_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_string*/
- break;
-
-/****
- *REAL_TO_LWORD
- */
- case function_real_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_lword*/
- break;
-
-/****
- *REAL_TO_UINT
- */
- case function_real_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_uint*/
- break;
-
-/****
- *REAL_TO_LREAL
- */
- case function_real_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_lreal*/
- break;
-
-/****
- *REAL_TO_BYTE
- */
- case function_real_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_byte*/
- break;
-
-/****
- *REAL_TO_USINT
- */
- case function_real_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_usint*/
- break;
-
-/****
- *REAL_TO_ULINT
- */
- case function_real_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_ulint*/
- break;
-
-/****
- *REAL_TO_BOOL
- */
- case function_real_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_bool*/
- break;
-
-/****
- *REAL_TO_TIME
- */
- case function_real_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_time*/
- break;
-
-/****
- *REAL_TO_INT
- */
- case function_real_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_int*/
- break;
+ case function_real_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dt*/
+ break;
+
+/****
+ *LREAL_TO_REAL
+ */
+ case function_lreal_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_real*/
+ break;
+
+/****
+ *LREAL_TO_SINT
+ */
+ case function_lreal_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_sint*/
+ break;
+
+/****
+ *LREAL_TO_INT
+ */
+ case function_lreal_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_int*/
+ break;
+
+/****
+ *LREAL_TO_DINT
+ */
+ case function_lreal_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dint*/
+ break;
+
+/****
+ *LREAL_TO_LINT
+ */
+ case function_lreal_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_lint*/
+ break;
+
+/****
+ *LREAL_TO_USINT
+ */
+ case function_lreal_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_usint*/
+ break;
+
+/****
+ *LREAL_TO_UINT
+ */
+ case function_lreal_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_uint*/
+ break;
+
+/****
+ *LREAL_TO_UDINT
+ */
+ case function_lreal_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_udint*/
+ break;
+
+/****
+ *LREAL_TO_ULINT
+ */
+ case function_lreal_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_ulint*/
+ break;
+
+/****
+ *LREAL_TO_TIME
+ */
+ case function_lreal_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_time*/
+ break;
+
+/****
+ *LREAL_TO_BOOL
+ */
+ case function_lreal_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_bool*/
+ break;
+
+/****
+ *LREAL_TO_BYTE
+ */
+ case function_lreal_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_byte*/
+ break;
+
+/****
+ *LREAL_TO_WORD
+ */
+ case function_lreal_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_word*/
+ break;
+
+/****
+ *LREAL_TO_DWORD
+ */
+ case function_lreal_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dword*/
+ break;
+
+/****
+ *LREAL_TO_LWORD
+ */
+ case function_lreal_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_lword*/
+ break;
+
+/****
+ *LREAL_TO_STRING
+ */
+ case function_lreal_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_string*/
+ break;
+
+/****
+ *LREAL_TO_WSTRING
+ */
+ case function_lreal_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_wstring*/
+ break;
+
+/****
+ *LREAL_TO_DATE
+ */
+ case function_lreal_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_date*/
+ break;
+
+/****
+ *LREAL_TO_TOD
+ */
+ case function_lreal_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_tod*/
+ break;
+
+/****
+ *LREAL_TO_DT
+ */
+ case function_lreal_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dt*/
+ break;
/****
*SINT_TO_REAL
*/
- case function_sint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_real*/
- break;
-
-/****
- *SINT_TO_SINT
- */
- case function_sint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_sint*/
- break;
+ case function_sint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_real*/
+ break;
+
+/****
+ *SINT_TO_LREAL
+ */
+ case function_sint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lreal*/
+ break;
+
+/****
+ *SINT_TO_INT
+ */
+ case function_sint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_int*/
+ break;
+
+/****
+ *SINT_TO_DINT
+ */
+ case function_sint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dint*/
+ break;
/****
*SINT_TO_LINT
*/
- case function_sint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_lint*/
- break;
-
-/****
- *SINT_TO_DINT
- */
- case function_sint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_dint*/
- break;
+ case function_sint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lint*/
+ break;
+
+/****
+ *SINT_TO_USINT
+ */
+ case function_sint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_usint*/
+ break;
+
+/****
+ *SINT_TO_UINT
+ */
+ case function_sint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_uint*/
+ break;
+
+/****
+ *SINT_TO_UDINT
+ */
+ case function_sint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_udint*/
+ break;
+
+/****
+ *SINT_TO_ULINT
+ */
+ case function_sint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_ulint*/
+ break;
+
+/****
+ *SINT_TO_TIME
+ */
+ case function_sint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_time*/
+ break;
+
+/****
+ *SINT_TO_BOOL
+ */
+ case function_sint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_bool*/
+ break;
+
+/****
+ *SINT_TO_BYTE
+ */
+ case function_sint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_byte*/
+ break;
+
+/****
+ *SINT_TO_WORD
+ */
+ case function_sint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_word*/
+ break;
+
+/****
+ *SINT_TO_DWORD
+ */
+ case function_sint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dword*/
+ break;
+
+/****
+ *SINT_TO_LWORD
+ */
+ case function_sint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lword*/
+ break;
+
+/****
+ *SINT_TO_STRING
+ */
+ case function_sint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_string*/
+ break;
+
+/****
+ *SINT_TO_WSTRING
+ */
+ case function_sint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_wstring*/
+ break;
/****
*SINT_TO_DATE
*/
- case function_sint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_date*/
- break;
-
-/****
- *SINT_TO_DWORD
- */
- case function_sint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_dword*/
- break;
+ case function_sint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_date*/
+ break;
+
+/****
+ *SINT_TO_TOD
+ */
+ case function_sint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_tod*/
+ break;
/****
*SINT_TO_DT
*/
- case function_sint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_dt*/
- break;
-
-/****
- *SINT_TO_TOD
- */
- case function_sint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_tod*/
- break;
-
-/****
- *SINT_TO_UDINT
- */
- case function_sint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_udint*/
- break;
-
-/****
- *SINT_TO_WORD
- */
- case function_sint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_word*/
- break;
-
-/****
- *SINT_TO_WSTRING
- */
- case function_sint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_wstring*/
- break;
-
-/****
- *SINT_TO_STRING
- */
- case function_sint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_string*/
- break;
-
-/****
- *SINT_TO_LWORD
- */
- case function_sint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_lword*/
- break;
-
-/****
- *SINT_TO_UINT
- */
- case function_sint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_uint*/
- break;
-
-/****
- *SINT_TO_LREAL
- */
- case function_sint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_lreal*/
- break;
-
-/****
- *SINT_TO_BYTE
- */
- case function_sint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_byte*/
- break;
-
-/****
- *SINT_TO_USINT
- */
- case function_sint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_usint*/
- break;
-
-/****
- *SINT_TO_ULINT
- */
- case function_sint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_ulint*/
- break;
-
-/****
- *SINT_TO_BOOL
- */
- case function_sint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_bool*/
- break;
-
-/****
- *SINT_TO_TIME
- */
- case function_sint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_time*/
- break;
-
-/****
- *SINT_TO_INT
- */
- case function_sint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_int*/
- break;
+ case function_sint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dt*/
+ break;
+
+/****
+ *INT_TO_REAL
+ */
+ case function_int_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_real*/
+ break;
+
+/****
+ *INT_TO_LREAL
+ */
+ case function_int_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lreal*/
+ break;
+
+/****
+ *INT_TO_SINT
+ */
+ case function_int_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_sint*/
+ break;
+
+/****
+ *INT_TO_DINT
+ */
+ case function_int_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dint*/
+ break;
+
+/****
+ *INT_TO_LINT
+ */
+ case function_int_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lint*/
+ break;
+
+/****
+ *INT_TO_USINT
+ */
+ case function_int_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_usint*/
+ break;
+
+/****
+ *INT_TO_UINT
+ */
+ case function_int_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_uint*/
+ break;
+
+/****
+ *INT_TO_UDINT
+ */
+ case function_int_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_udint*/
+ break;
+
+/****
+ *INT_TO_ULINT
+ */
+ case function_int_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_ulint*/
+ break;
+
+/****
+ *INT_TO_TIME
+ */
+ case function_int_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_time*/
+ break;
+
+/****
+ *INT_TO_BOOL
+ */
+ case function_int_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_bool*/
+ break;
+
+/****
+ *INT_TO_BYTE
+ */
+ case function_int_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_byte*/
+ break;
+
+/****
+ *INT_TO_WORD
+ */
+ case function_int_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_word*/
+ break;
+
+/****
+ *INT_TO_DWORD
+ */
+ case function_int_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dword*/
+ break;
+
+/****
+ *INT_TO_LWORD
+ */
+ case function_int_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lword*/
+ break;
+
+/****
+ *INT_TO_STRING
+ */
+ case function_int_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_string*/
+ break;
+
+/****
+ *INT_TO_WSTRING
+ */
+ case function_int_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_wstring*/
+ break;
+
+/****
+ *INT_TO_DATE
+ */
+ case function_int_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_date*/
+ break;
+
+/****
+ *INT_TO_TOD
+ */
+ case function_int_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_tod*/
+ break;
+
+/****
+ *INT_TO_DT
+ */
+ case function_int_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dt*/
+ break;
+
+/****
+ *DINT_TO_REAL
+ */
+ case function_dint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_real*/
+ break;
+
+/****
+ *DINT_TO_LREAL
+ */
+ case function_dint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lreal*/
+ break;
+
+/****
+ *DINT_TO_SINT
+ */
+ case function_dint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_sint*/
+ break;
+
+/****
+ *DINT_TO_INT
+ */
+ case function_dint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_int*/
+ break;
+
+/****
+ *DINT_TO_LINT
+ */
+ case function_dint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lint*/
+ break;
+
+/****
+ *DINT_TO_USINT
+ */
+ case function_dint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_usint*/
+ break;
+
+/****
+ *DINT_TO_UINT
+ */
+ case function_dint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_uint*/
+ break;
+
+/****
+ *DINT_TO_UDINT
+ */
+ case function_dint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_udint*/
+ break;
+
+/****
+ *DINT_TO_ULINT
+ */
+ case function_dint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_ulint*/
+ break;
+
+/****
+ *DINT_TO_TIME
+ */
+ case function_dint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_time*/
+ break;
+
+/****
+ *DINT_TO_BOOL
+ */
+ case function_dint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_bool*/
+ break;
+
+/****
+ *DINT_TO_BYTE
+ */
+ case function_dint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_byte*/
+ break;
+
+/****
+ *DINT_TO_WORD
+ */
+ case function_dint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_word*/
+ break;
+
+/****
+ *DINT_TO_DWORD
+ */
+ case function_dint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_dword*/
+ break;
+
+/****
+ *DINT_TO_LWORD
+ */
+ case function_dint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lword*/
+ break;
+
+/****
+ *DINT_TO_STRING
+ */
+ case function_dint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_string*/
+ break;
+
+/****
+ *DINT_TO_WSTRING
+ */
+ case function_dint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_wstring*/
+ break;
+
+/****
+ *DINT_TO_DATE
+ */
+ case function_dint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_date*/
+ break;
+
+/****
+ *DINT_TO_TOD
+ */
+ case function_dint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_tod*/
+ break;
+
+/****
+ *DINT_TO_DT
+ */
+ case function_dint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_dt*/
+ break;
/****
*LINT_TO_REAL
*/
- case function_lint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_real*/
- break;
+ case function_lint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_real*/
+ break;
+
+/****
+ *LINT_TO_LREAL
+ */
+ case function_lint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_lreal*/
+ break;
/****
*LINT_TO_SINT
*/
- case function_lint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_sint*/
- break;
-
-/****
- *LINT_TO_LINT
- */
- case function_lint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_lint*/
- break;
+ case function_lint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_sint*/
+ break;
+
+/****
+ *LINT_TO_INT
+ */
+ case function_lint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_int*/
+ break;
/****
*LINT_TO_DINT
*/
- case function_lint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_dint*/
- break;
+ case function_lint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dint*/
+ break;
+
+/****
+ *LINT_TO_USINT
+ */
+ case function_lint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_usint*/
+ break;
+
+/****
+ *LINT_TO_UINT
+ */
+ case function_lint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_uint*/
+ break;
+
+/****
+ *LINT_TO_UDINT
+ */
+ case function_lint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_udint*/
+ break;
+
+/****
+ *LINT_TO_ULINT
+ */
+ case function_lint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_ulint*/
+ break;
+
+/****
+ *LINT_TO_TIME
+ */
+ case function_lint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_time*/
+ break;
+
+/****
+ *LINT_TO_BOOL
+ */
+ case function_lint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_bool*/
+ break;
+
+/****
+ *LINT_TO_BYTE
+ */
+ case function_lint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_byte*/
+ break;
+
+/****
+ *LINT_TO_WORD
+ */
+ case function_lint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_word*/
+ break;
+
+/****
+ *LINT_TO_DWORD
+ */
+ case function_lint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dword*/
+ break;
+
+/****
+ *LINT_TO_LWORD
+ */
+ case function_lint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_lword*/
+ break;
+
+/****
+ *LINT_TO_STRING
+ */
+ case function_lint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_string*/
+ break;
+
+/****
+ *LINT_TO_WSTRING
+ */
+ case function_lint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_wstring*/
+ break;
/****
*LINT_TO_DATE
*/
- case function_lint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_date*/
- break;
-
-/****
- *LINT_TO_DWORD
- */
- case function_lint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_dword*/
- break;
+ case function_lint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_date*/
+ break;
+
+/****
+ *LINT_TO_TOD
+ */
+ case function_lint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_tod*/
+ break;
/****
*LINT_TO_DT
*/
- case function_lint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_dt*/
- break;
-
-/****
- *LINT_TO_TOD
- */
- case function_lint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_tod*/
- break;
-
-/****
- *LINT_TO_UDINT
- */
- case function_lint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_udint*/
- break;
-
-/****
- *LINT_TO_WORD
- */
- case function_lint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_word*/
- break;
-
-/****
- *LINT_TO_WSTRING
- */
- case function_lint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_wstring*/
- break;
-
-/****
- *LINT_TO_STRING
- */
- case function_lint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_string*/
- break;
-
-/****
- *LINT_TO_LWORD
- */
- case function_lint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_lword*/
- break;
-
-/****
- *LINT_TO_UINT
- */
- case function_lint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_uint*/
- break;
-
-/****
- *LINT_TO_LREAL
- */
- case function_lint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_lreal*/
- break;
-
-/****
- *LINT_TO_BYTE
- */
- case function_lint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_byte*/
- break;
-
-/****
- *LINT_TO_USINT
- */
- case function_lint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_usint*/
- break;
-
-/****
- *LINT_TO_ULINT
- */
- case function_lint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_ulint*/
- break;
-
-/****
- *LINT_TO_BOOL
- */
- case function_lint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_bool*/
- break;
-
-/****
- *LINT_TO_TIME
- */
- case function_lint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_time*/
- break;
-
-/****
- *LINT_TO_INT
- */
- case function_lint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_int*/
- break;
-
-/****
- *DINT_TO_REAL
- */
- case function_dint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_real*/
- break;
-
-/****
- *DINT_TO_SINT
- */
- case function_dint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_sint*/
- break;
-
-/****
- *DINT_TO_LINT
- */
- case function_dint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_lint*/
- break;
-
-/****
- *DINT_TO_DINT
- */
- case function_dint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_dint*/
- break;
-
-/****
- *DINT_TO_DATE
- */
- case function_dint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_date*/
- break;
-
-/****
- *DINT_TO_DWORD
- */
- case function_dint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_dword*/
- break;
-
-/****
- *DINT_TO_DT
- */
- case function_dint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_dt*/
- break;
-
-/****
- *DINT_TO_TOD
- */
- case function_dint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_tod*/
- break;
-
-/****
- *DINT_TO_UDINT
- */
- case function_dint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_udint*/
- break;
-
-/****
- *DINT_TO_WORD
- */
- case function_dint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_word*/
- break;
-
-/****
- *DINT_TO_WSTRING
- */
- case function_dint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_wstring*/
- break;
-
-/****
- *DINT_TO_STRING
- */
- case function_dint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_string*/
- break;
-
-/****
- *DINT_TO_LWORD
- */
- case function_dint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_lword*/
- break;
-
-/****
- *DINT_TO_UINT
- */
- case function_dint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_uint*/
- break;
-
-/****
- *DINT_TO_LREAL
- */
- case function_dint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_lreal*/
- break;
-
-/****
- *DINT_TO_BYTE
- */
- case function_dint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_byte*/
- break;
-
-/****
- *DINT_TO_USINT
- */
- case function_dint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_usint*/
- break;
-
-/****
- *DINT_TO_ULINT
- */
- case function_dint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_ulint*/
- break;
-
-/****
- *DINT_TO_BOOL
- */
- case function_dint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_bool*/
- break;
-
-/****
- *DINT_TO_TIME
- */
- case function_dint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_time*/
- break;
-
-/****
- *DINT_TO_INT
- */
- case function_dint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_int*/
- break;
+ case function_lint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dt*/
+ break;
+
+/****
+ *USINT_TO_REAL
+ */
+ case function_usint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_real*/
+ break;
+
+/****
+ *USINT_TO_LREAL
+ */
+ case function_usint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lreal*/
+ break;
+
+/****
+ *USINT_TO_SINT
+ */
+ case function_usint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_sint*/
+ break;
+
+/****
+ *USINT_TO_INT
+ */
+ case function_usint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_int*/
+ break;
+
+/****
+ *USINT_TO_DINT
+ */
+ case function_usint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dint*/
+ break;
+
+/****
+ *USINT_TO_LINT
+ */
+ case function_usint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lint*/
+ break;
+
+/****
+ *USINT_TO_UINT
+ */
+ case function_usint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_uint*/
+ break;
+
+/****
+ *USINT_TO_UDINT
+ */
+ case function_usint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_udint*/
+ break;
+
+/****
+ *USINT_TO_ULINT
+ */
+ case function_usint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_ulint*/
+ break;
+
+/****
+ *USINT_TO_TIME
+ */
+ case function_usint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_time*/
+ break;
+
+/****
+ *USINT_TO_BOOL
+ */
+ case function_usint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_bool*/
+ break;
+
+/****
+ *USINT_TO_BYTE
+ */
+ case function_usint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_byte*/
+ break;
+
+/****
+ *USINT_TO_WORD
+ */
+ case function_usint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_word*/
+ break;
+
+/****
+ *USINT_TO_DWORD
+ */
+ case function_usint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dword*/
+ break;
+
+/****
+ *USINT_TO_LWORD
+ */
+ case function_usint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lword*/
+ break;
+
+/****
+ *USINT_TO_STRING
+ */
+ case function_usint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_string*/
+ break;
+
+/****
+ *USINT_TO_WSTRING
+ */
+ case function_usint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_wstring*/
+ break;
+
+/****
+ *USINT_TO_DATE
+ */
+ case function_usint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_date*/
+ break;
+
+/****
+ *USINT_TO_TOD
+ */
+ case function_usint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_tod*/
+ break;
+
+/****
+ *USINT_TO_DT
+ */
+ case function_usint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dt*/
+ break;
+
+/****
+ *UINT_TO_REAL
+ */
+ case function_uint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_real*/
+ break;
+
+/****
+ *UINT_TO_LREAL
+ */
+ case function_uint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lreal*/
+ break;
+
+/****
+ *UINT_TO_SINT
+ */
+ case function_uint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_sint*/
+ break;
+
+/****
+ *UINT_TO_INT
+ */
+ case function_uint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_int*/
+ break;
+
+/****
+ *UINT_TO_DINT
+ */
+ case function_uint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dint*/
+ break;
+
+/****
+ *UINT_TO_LINT
+ */
+ case function_uint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lint*/
+ break;
+
+/****
+ *UINT_TO_USINT
+ */
+ case function_uint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_usint*/
+ break;
+
+/****
+ *UINT_TO_UDINT
+ */
+ case function_uint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_udint*/
+ break;
+
+/****
+ *UINT_TO_ULINT
+ */
+ case function_uint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_ulint*/
+ break;
+
+/****
+ *UINT_TO_TIME
+ */
+ case function_uint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_time*/
+ break;
+
+/****
+ *UINT_TO_BOOL
+ */
+ case function_uint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_bool*/
+ break;
+
+/****
+ *UINT_TO_BYTE
+ */
+ case function_uint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_byte*/
+ break;
+
+/****
+ *UINT_TO_WORD
+ */
+ case function_uint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_word*/
+ break;
+
+/****
+ *UINT_TO_DWORD
+ */
+ case function_uint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dword*/
+ break;
+
+/****
+ *UINT_TO_LWORD
+ */
+ case function_uint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lword*/
+ break;
+
+/****
+ *UINT_TO_STRING
+ */
+ case function_uint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_string*/
+ break;
+
+/****
+ *UINT_TO_WSTRING
+ */
+ case function_uint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_wstring*/
+ break;
+
+/****
+ *UINT_TO_DATE
+ */
+ case function_uint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_date*/
+ break;
+
+/****
+ *UINT_TO_TOD
+ */
+ case function_uint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_tod*/
+ break;
+
+/****
+ *UINT_TO_DT
+ */
+ case function_uint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dt*/
+ break;
+
+/****
+ *UDINT_TO_REAL
+ */
+ case function_udint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_real*/
+ break;
+
+/****
+ *UDINT_TO_LREAL
+ */
+ case function_udint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lreal*/
+ break;
+
+/****
+ *UDINT_TO_SINT
+ */
+ case function_udint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_sint*/
+ break;
+
+/****
+ *UDINT_TO_INT
+ */
+ case function_udint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_int*/
+ break;
+
+/****
+ *UDINT_TO_DINT
+ */
+ case function_udint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dint*/
+ break;
+
+/****
+ *UDINT_TO_LINT
+ */
+ case function_udint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lint*/
+ break;
+
+/****
+ *UDINT_TO_USINT
+ */
+ case function_udint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_usint*/
+ break;
+
+/****
+ *UDINT_TO_UINT
+ */
+ case function_udint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_uint*/
+ break;
+
+/****
+ *UDINT_TO_ULINT
+ */
+ case function_udint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_ulint*/
+ break;
+
+/****
+ *UDINT_TO_TIME
+ */
+ case function_udint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_time*/
+ break;
+
+/****
+ *UDINT_TO_BOOL
+ */
+ case function_udint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_bool*/
+ break;
+
+/****
+ *UDINT_TO_BYTE
+ */
+ case function_udint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_byte*/
+ break;
+
+/****
+ *UDINT_TO_WORD
+ */
+ case function_udint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_word*/
+ break;
+
+/****
+ *UDINT_TO_DWORD
+ */
+ case function_udint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dword*/
+ break;
+
+/****
+ *UDINT_TO_LWORD
+ */
+ case function_udint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lword*/
+ break;
+
+/****
+ *UDINT_TO_STRING
+ */
+ case function_udint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_string*/
+ break;
+
+/****
+ *UDINT_TO_WSTRING
+ */
+ case function_udint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_wstring*/
+ break;
+
+/****
+ *UDINT_TO_DATE
+ */
+ case function_udint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_date*/
+ break;
+
+/****
+ *UDINT_TO_TOD
+ */
+ case function_udint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_tod*/
+ break;
+
+/****
+ *UDINT_TO_DT
+ */
+ case function_udint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dt*/
+ break;
+
+/****
+ *ULINT_TO_REAL
+ */
+ case function_ulint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_real*/
+ break;
+
+/****
+ *ULINT_TO_LREAL
+ */
+ case function_ulint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lreal*/
+ break;
+
+/****
+ *ULINT_TO_SINT
+ */
+ case function_ulint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_sint*/
+ break;
+
+/****
+ *ULINT_TO_INT
+ */
+ case function_ulint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_int*/
+ break;
+
+/****
+ *ULINT_TO_DINT
+ */
+ case function_ulint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dint*/
+ break;
+
+/****
+ *ULINT_TO_LINT
+ */
+ case function_ulint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lint*/
+ break;
+
+/****
+ *ULINT_TO_USINT
+ */
+ case function_ulint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_usint*/
+ break;
+
+/****
+ *ULINT_TO_UINT
+ */
+ case function_ulint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_uint*/
+ break;
+
+/****
+ *ULINT_TO_UDINT
+ */
+ case function_ulint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_udint*/
+ break;
+
+/****
+ *ULINT_TO_TIME
+ */
+ case function_ulint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_time*/
+ break;
+
+/****
+ *ULINT_TO_BOOL
+ */
+ case function_ulint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_bool*/
+ break;
+
+/****
+ *ULINT_TO_BYTE
+ */
+ case function_ulint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_byte*/
+ break;
+
+/****
+ *ULINT_TO_WORD
+ */
+ case function_ulint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_word*/
+ break;
+
+/****
+ *ULINT_TO_DWORD
+ */
+ case function_ulint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dword*/
+ break;
+
+/****
+ *ULINT_TO_LWORD
+ */
+ case function_ulint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lword*/
+ break;
+
+/****
+ *ULINT_TO_STRING
+ */
+ case function_ulint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_string*/
+ break;
+
+/****
+ *ULINT_TO_WSTRING
+ */
+ case function_ulint_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_wstring*/
+ break;
+
+/****
+ *ULINT_TO_DATE
+ */
+ case function_ulint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_date*/
+ break;
+
+/****
+ *ULINT_TO_TOD
+ */
+ case function_ulint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_tod*/
+ break;
+
+/****
+ *ULINT_TO_DT
+ */
+ case function_ulint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dt*/
+ break;
+
+/****
+ *TIME_TO_REAL
+ */
+ case function_time_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_real*/
+ break;
+
+/****
+ *TIME_TO_LREAL
+ */
+ case function_time_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lreal*/
+ break;
+
+/****
+ *TIME_TO_SINT
+ */
+ case function_time_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_sint*/
+ break;
+
+/****
+ *TIME_TO_INT
+ */
+ case function_time_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_int*/
+ break;
+
+/****
+ *TIME_TO_DINT
+ */
+ case function_time_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_dint*/
+ break;
+
+/****
+ *TIME_TO_LINT
+ */
+ case function_time_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lint*/
+ break;
+
+/****
+ *TIME_TO_USINT
+ */
+ case function_time_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_usint*/
+ break;
+
+/****
+ *TIME_TO_UINT
+ */
+ case function_time_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_uint*/
+ break;
+
+/****
+ *TIME_TO_UDINT
+ */
+ case function_time_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_udint*/
+ break;
+
+/****
+ *TIME_TO_ULINT
+ */
+ case function_time_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_ulint*/
+ break;
+
+/****
+ *TIME_TO_BOOL
+ */
+ case function_time_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_bool*/
+ break;
+
+/****
+ *TIME_TO_BYTE
+ */
+ case function_time_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_byte*/
+ break;
+
+/****
+ *TIME_TO_WORD
+ */
+ case function_time_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_word*/
+ break;
+
+/****
+ *TIME_TO_DWORD
+ */
+ case function_time_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_dword*/
+ break;
+
+/****
+ *TIME_TO_LWORD
+ */
+ case function_time_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lword*/
+ break;
+
+/****
+ *TIME_TO_STRING
+ */
+ case function_time_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_string*/
+ break;
+
+/****
+ *TIME_TO_WSTRING
+ */
+ case function_time_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_wstring*/
+ break;
+
+/****
+ *BOOL_TO_REAL
+ */
+ case function_bool_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_real*/
+ break;
+
+/****
+ *BOOL_TO_LREAL
+ */
+ case function_bool_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lreal*/
+ break;
+
+/****
+ *BOOL_TO_SINT
+ */
+ case function_bool_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_sint*/
+ break;
+
+/****
+ *BOOL_TO_INT
+ */
+ case function_bool_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_int*/
+ break;
+
+/****
+ *BOOL_TO_DINT
+ */
+ case function_bool_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dint*/
+ break;
+
+/****
+ *BOOL_TO_LINT
+ */
+ case function_bool_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lint*/
+ break;
+
+/****
+ *BOOL_TO_USINT
+ */
+ case function_bool_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_usint*/
+ break;
+
+/****
+ *BOOL_TO_UINT
+ */
+ case function_bool_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_uint*/
+ break;
+
+/****
+ *BOOL_TO_UDINT
+ */
+ case function_bool_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_udint*/
+ break;
+
+/****
+ *BOOL_TO_ULINT
+ */
+ case function_bool_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_ulint*/
+ break;
+
+/****
+ *BOOL_TO_TIME
+ */
+ case function_bool_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_time*/
+ break;
+
+/****
+ *BOOL_TO_BYTE
+ */
+ case function_bool_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_byte*/
+ break;
+
+/****
+ *BOOL_TO_WORD
+ */
+ case function_bool_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_word*/
+ break;
+
+/****
+ *BOOL_TO_DWORD
+ */
+ case function_bool_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dword*/
+ break;
+
+/****
+ *BOOL_TO_LWORD
+ */
+ case function_bool_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lword*/
+ break;
+
+/****
+ *BOOL_TO_STRING
+ */
+ case function_bool_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_string*/
+ break;
+
+/****
+ *BOOL_TO_WSTRING
+ */
+ case function_bool_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_wstring*/
+ break;
+
+/****
+ *BOOL_TO_DATE
+ */
+ case function_bool_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_date*/
+ break;
+
+/****
+ *BOOL_TO_TOD
+ */
+ case function_bool_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_tod*/
+ break;
+
+/****
+ *BOOL_TO_DT
+ */
+ case function_bool_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dt*/
+ break;
+
+/****
+ *BYTE_TO_REAL
+ */
+ case function_byte_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_real*/
+ break;
+
+/****
+ *BYTE_TO_LREAL
+ */
+ case function_byte_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lreal*/
+ break;
+
+/****
+ *BYTE_TO_SINT
+ */
+ case function_byte_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_sint*/
+ break;
+
+/****
+ *BYTE_TO_INT
+ */
+ case function_byte_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_int*/
+ break;
+
+/****
+ *BYTE_TO_DINT
+ */
+ case function_byte_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dint*/
+ break;
+
+/****
+ *BYTE_TO_LINT
+ */
+ case function_byte_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lint*/
+ break;
+
+/****
+ *BYTE_TO_USINT
+ */
+ case function_byte_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_usint*/
+ break;
+
+/****
+ *BYTE_TO_UINT
+ */
+ case function_byte_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_uint*/
+ break;
+
+/****
+ *BYTE_TO_UDINT
+ */
+ case function_byte_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_udint*/
+ break;
+
+/****
+ *BYTE_TO_ULINT
+ */
+ case function_byte_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_ulint*/
+ break;
+
+/****
+ *BYTE_TO_TIME
+ */
+ case function_byte_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_time*/
+ break;
+
+/****
+ *BYTE_TO_BOOL
+ */
+ case function_byte_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_bool*/
+ break;
+
+/****
+ *BYTE_TO_WORD
+ */
+ case function_byte_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_word*/
+ break;
+
+/****
+ *BYTE_TO_DWORD
+ */
+ case function_byte_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dword*/
+ break;
+
+/****
+ *BYTE_TO_LWORD
+ */
+ case function_byte_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lword*/
+ break;
+
+/****
+ *BYTE_TO_STRING
+ */
+ case function_byte_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_string*/
+ break;
+
+/****
+ *BYTE_TO_WSTRING
+ */
+ case function_byte_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_wstring*/
+ break;
+
+/****
+ *BYTE_TO_DATE
+ */
+ case function_byte_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_date*/
+ break;
+
+/****
+ *BYTE_TO_TOD
+ */
+ case function_byte_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_tod*/
+ break;
+
+/****
+ *BYTE_TO_DT
+ */
+ case function_byte_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dt*/
+ break;
+
+/****
+ *WORD_TO_REAL
+ */
+ case function_word_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_real*/
+ break;
+
+/****
+ *WORD_TO_LREAL
+ */
+ case function_word_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lreal*/
+ break;
+
+/****
+ *WORD_TO_SINT
+ */
+ case function_word_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_sint*/
+ break;
+
+/****
+ *WORD_TO_INT
+ */
+ case function_word_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_int*/
+ break;
+
+/****
+ *WORD_TO_DINT
+ */
+ case function_word_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dint*/
+ break;
+
+/****
+ *WORD_TO_LINT
+ */
+ case function_word_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lint*/
+ break;
+
+/****
+ *WORD_TO_USINT
+ */
+ case function_word_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_usint*/
+ break;
+
+/****
+ *WORD_TO_UINT
+ */
+ case function_word_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_uint*/
+ break;
+
+/****
+ *WORD_TO_UDINT
+ */
+ case function_word_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_udint*/
+ break;
+
+/****
+ *WORD_TO_ULINT
+ */
+ case function_word_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_ulint*/
+ break;
+
+/****
+ *WORD_TO_TIME
+ */
+ case function_word_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_time*/
+ break;
+
+/****
+ *WORD_TO_BOOL
+ */
+ case function_word_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_bool*/
+ break;
+
+/****
+ *WORD_TO_BYTE
+ */
+ case function_word_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_byte*/
+ break;
+
+/****
+ *WORD_TO_DWORD
+ */
+ case function_word_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dword*/
+ break;
+
+/****
+ *WORD_TO_LWORD
+ */
+ case function_word_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lword*/
+ break;
+
+/****
+ *WORD_TO_STRING
+ */
+ case function_word_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_string*/
+ break;
+
+/****
+ *WORD_TO_WSTRING
+ */
+ case function_word_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_wstring*/
+ break;
+
+/****
+ *WORD_TO_DATE
+ */
+ case function_word_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_date*/
+ break;
+
+/****
+ *WORD_TO_TOD
+ */
+ case function_word_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_tod*/
+ break;
+
+/****
+ *WORD_TO_DT
+ */
+ case function_word_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dt*/
+ break;
+
+/****
+ *DWORD_TO_REAL
+ */
+ case function_dword_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_real*/
+ break;
+
+/****
+ *DWORD_TO_LREAL
+ */
+ case function_dword_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lreal*/
+ break;
+
+/****
+ *DWORD_TO_SINT
+ */
+ case function_dword_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_sint*/
+ break;
+
+/****
+ *DWORD_TO_INT
+ */
+ case function_dword_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_int*/
+ break;
+
+/****
+ *DWORD_TO_DINT
+ */
+ case function_dword_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_dint*/
+ break;
+
+/****
+ *DWORD_TO_LINT
+ */
+ case function_dword_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lint*/
+ break;
+
+/****
+ *DWORD_TO_USINT
+ */
+ case function_dword_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_usint*/
+ break;
+
+/****
+ *DWORD_TO_UINT
+ */
+ case function_dword_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_uint*/
+ break;
+
+/****
+ *DWORD_TO_UDINT
+ */
+ case function_dword_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_udint*/
+ break;
+
+/****
+ *DWORD_TO_ULINT
+ */
+ case function_dword_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_ulint*/
+ break;
+
+/****
+ *DWORD_TO_TIME
+ */
+ case function_dword_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_time*/
+ break;
+
+/****
+ *DWORD_TO_BOOL
+ */
+ case function_dword_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_bool*/
+ break;
+
+/****
+ *DWORD_TO_BYTE
+ */
+ case function_dword_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_byte*/
+ break;
+
+/****
+ *DWORD_TO_WORD
+ */
+ case function_dword_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_word*/
+ break;
+
+/****
+ *DWORD_TO_LWORD
+ */
+ case function_dword_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lword*/
+ break;
+
+/****
+ *DWORD_TO_STRING
+ */
+ case function_dword_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_string*/
+ break;
+
+/****
+ *DWORD_TO_WSTRING
+ */
+ case function_dword_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_wstring*/
+ break;
+
+/****
+ *DWORD_TO_DATE
+ */
+ case function_dword_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_date*/
+ break;
+
+/****
+ *DWORD_TO_TOD
+ */
+ case function_dword_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_tod*/
+ break;
+
+/****
+ *DWORD_TO_DT
+ */
+ case function_dword_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_dt*/
+ break;
+
+/****
+ *LWORD_TO_REAL
+ */
+ case function_lword_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_real*/
+ break;
+
+/****
+ *LWORD_TO_LREAL
+ */
+ case function_lword_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_lreal*/
+ break;
+
+/****
+ *LWORD_TO_SINT
+ */
+ case function_lword_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_sint*/
+ break;
+
+/****
+ *LWORD_TO_INT
+ */
+ case function_lword_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_int*/
+ break;
+
+/****
+ *LWORD_TO_DINT
+ */
+ case function_lword_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dint*/
+ break;
+
+/****
+ *LWORD_TO_LINT
+ */
+ case function_lword_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_lint*/
+ break;
+
+/****
+ *LWORD_TO_USINT
+ */
+ case function_lword_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_usint*/
+ break;
+
+/****
+ *LWORD_TO_UINT
+ */
+ case function_lword_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_uint*/
+ break;
+
+/****
+ *LWORD_TO_UDINT
+ */
+ case function_lword_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_udint*/
+ break;
+
+/****
+ *LWORD_TO_ULINT
+ */
+ case function_lword_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_ulint*/
+ break;
+
+/****
+ *LWORD_TO_TIME
+ */
+ case function_lword_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_time*/
+ break;
+
+/****
+ *LWORD_TO_BOOL
+ */
+ case function_lword_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_bool*/
+ break;
+
+/****
+ *LWORD_TO_BYTE
+ */
+ case function_lword_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_byte*/
+ break;
+
+/****
+ *LWORD_TO_WORD
+ */
+ case function_lword_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_word*/
+ break;
+
+/****
+ *LWORD_TO_DWORD
+ */
+ case function_lword_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dword*/
+ break;
+
+/****
+ *LWORD_TO_STRING
+ */
+ case function_lword_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_string*/
+ break;
+
+/****
+ *LWORD_TO_WSTRING
+ */
+ case function_lword_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")int_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_wstring*/
+ break;
+
+/****
+ *LWORD_TO_DATE
+ */
+ case function_lword_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_date*/
+ break;
+
+/****
+ *LWORD_TO_TOD
+ */
+ case function_lword_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_tod*/
+ break;
+
+/****
+ *LWORD_TO_DT
+ */
+ case function_lword_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dt*/
+ break;
+
+/****
+ *STRING_TO_REAL
+ */
+ case function_string_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_real*/
+ break;
+
+/****
+ *STRING_TO_LREAL
+ */
+ case function_string_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lreal*/
+ break;
+
+/****
+ *STRING_TO_SINT
+ */
+ case function_string_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_sint*/
+ break;
+
+/****
+ *STRING_TO_INT
+ */
+ case function_string_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_int*/
+ break;
+
+/****
+ *STRING_TO_DINT
+ */
+ case function_string_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dint*/
+ break;
+
+/****
+ *STRING_TO_LINT
+ */
+ case function_string_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lint*/
+ break;
+
+/****
+ *STRING_TO_USINT
+ */
+ case function_string_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_usint*/
+ break;
+
+/****
+ *STRING_TO_UINT
+ */
+ case function_string_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_uint*/
+ break;
+
+/****
+ *STRING_TO_UDINT
+ */
+ case function_string_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_udint*/
+ break;
+
+/****
+ *STRING_TO_ULINT
+ */
+ case function_string_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_ulint*/
+ break;
+
+/****
+ *STRING_TO_TIME
+ */
+ case function_string_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_time*/
+ break;
+
+/****
+ *STRING_TO_BOOL
+ */
+ case function_string_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_bool*/
+ break;
+
+/****
+ *STRING_TO_BYTE
+ */
+ case function_string_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_byte*/
+ break;
+
+/****
+ *STRING_TO_WORD
+ */
+ case function_string_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_word*/
+ break;
+
+/****
+ *STRING_TO_DWORD
+ */
+ case function_string_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dword*/
+ break;
+
+/****
+ *STRING_TO_LWORD
+ */
+ case function_string_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lword*/
+ break;
+
+/****
+ *STRING_TO_DATE
+ */
+ case function_string_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_date*/
+ break;
+
+/****
+ *STRING_TO_TOD
+ */
+ case function_string_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_tod*/
+ break;
+
+/****
+ *STRING_TO_DT
+ */
+ case function_string_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dt*/
+ break;
+
+/****
+ *WSTRING_TO_REAL
+ */
+ case function_wstring_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_real*/
+ break;
+
+/****
+ *WSTRING_TO_LREAL
+ */
+ case function_wstring_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lreal*/
+ break;
+
+/****
+ *WSTRING_TO_SINT
+ */
+ case function_wstring_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_sint*/
+ break;
+
+/****
+ *WSTRING_TO_INT
+ */
+ case function_wstring_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_int*/
+ break;
+
+/****
+ *WSTRING_TO_DINT
+ */
+ case function_wstring_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dint*/
+ break;
+
+/****
+ *WSTRING_TO_LINT
+ */
+ case function_wstring_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lint*/
+ break;
+
+/****
+ *WSTRING_TO_USINT
+ */
+ case function_wstring_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_usint*/
+ break;
+
+/****
+ *WSTRING_TO_UINT
+ */
+ case function_wstring_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_uint*/
+ break;
+
+/****
+ *WSTRING_TO_UDINT
+ */
+ case function_wstring_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_udint*/
+ break;
+
+/****
+ *WSTRING_TO_ULINT
+ */
+ case function_wstring_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 10)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_ulint*/
+ break;
+
+/****
+ *WSTRING_TO_TIME
+ */
+ case function_wstring_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_time*/
+ break;
+
+/****
+ *WSTRING_TO_BOOL
+ */
+ case function_wstring_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_bool*/
+ break;
+
+/****
+ *WSTRING_TO_BYTE
+ */
+ case function_wstring_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_byte*/
+ break;
+
+/****
+ *WSTRING_TO_WORD
+ */
+ case function_wstring_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_word*/
+ break;
+
+/****
+ *WSTRING_TO_DWORD
+ */
+ case function_wstring_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dword*/
+ break;
+
+/****
+ *WSTRING_TO_LWORD
+ */
+ case function_wstring_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(", 16)");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_lword*/
+ break;
+
+/****
+ *WSTRING_TO_DATE
+ */
+ case function_wstring_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_date*/
+ break;
+
+/****
+ *WSTRING_TO_TOD
+ */
+ case function_wstring_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_tod*/
+ break;
+
+/****
+ *WSTRING_TO_DT
+ */
+ case function_wstring_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_wstring_to_dt*/
+ break;
/****
*DATE_TO_REAL
*/
- case function_date_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_real*/
- break;
+ case function_date_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_real*/
+ break;
+
+/****
+ *DATE_TO_LREAL
+ */
+ case function_date_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lreal*/
+ break;
/****
*DATE_TO_SINT
*/
- case function_date_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_sint*/
- break;
+ case function_date_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_sint*/
+ break;
+
+/****
+ *DATE_TO_INT
+ */
+ case function_date_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_int*/
+ break;
+
+/****
+ *DATE_TO_DINT
+ */
+ case function_date_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_dint*/
+ break;
/****
*DATE_TO_LINT
*/
- case function_date_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_lint*/
- break;
-
-/****
- *DATE_TO_DINT
- */
- case function_date_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_dint*/
- break;
-
-/****
- *DATE_TO_DATE
- */
- case function_date_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("#error DATE_TO_DATE not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_date*/
- break;
+ case function_date_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lint*/
+ break;
+
+/****
+ *DATE_TO_USINT
+ */
+ case function_date_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_usint*/
+ break;
+
+/****
+ *DATE_TO_UINT
+ */
+ case function_date_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_uint*/
+ break;
+
+/****
+ *DATE_TO_UDINT
+ */
+ case function_date_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_udint*/
+ break;
+
+/****
+ *DATE_TO_ULINT
+ */
+ case function_date_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_ulint*/
+ break;
+
+/****
+ *DATE_TO_BOOL
+ */
+ case function_date_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_bool*/
+ break;
+
+/****
+ *DATE_TO_BYTE
+ */
+ case function_date_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_byte*/
+ break;
+
+/****
+ *DATE_TO_WORD
+ */
+ case function_date_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_word*/
+ break;
/****
*DATE_TO_DWORD
*/
- case function_date_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_dword*/
- break;
-
-/****
- *DATE_TO_DT
- */
- case function_date_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("#error DATE_TO_DT not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_dt*/
- break;
-
-/****
- *DATE_TO_TOD
- */
- case function_date_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("#error DATE_TO_TOD not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_tod*/
- break;
-
-/****
- *DATE_TO_UDINT
- */
- case function_date_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_udint*/
- break;
-
-/****
- *DATE_TO_WORD
- */
- case function_date_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_word*/
- break;
+ case function_date_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_dword*/
+ break;
+
+/****
+ *DATE_TO_LWORD
+ */
+ case function_date_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lword*/
+ break;
+
+/****
+ *DATE_TO_STRING
+ */
+ case function_date_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_string*/
+ break;
/****
*DATE_TO_WSTRING
*/
- case function_date_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_wstring*/
- break;
-
-/****
- *DATE_TO_STRING
- */
- case function_date_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_string*/
- break;
-
-/****
- *DATE_TO_LWORD
- */
- case function_date_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_lword*/
- break;
-
-/****
- *DATE_TO_UINT
- */
- case function_date_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_uint*/
- break;
-
-/****
- *DATE_TO_LREAL
- */
- case function_date_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_lreal*/
- break;
-
-/****
- *DATE_TO_BYTE
- */
- case function_date_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_byte*/
- break;
-
-/****
- *DATE_TO_USINT
- */
- case function_date_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_usint*/
- break;
-
-/****
- *DATE_TO_ULINT
- */
- case function_date_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_ulint*/
- break;
-
-/****
- *DATE_TO_BOOL
- */
- case function_date_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_bool*/
- break;
-
-/****
- *DATE_TO_TIME
- */
- case function_date_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("#error DATE_TO_TIME not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_time*/
- break;
-
-/****
- *DATE_TO_INT
- */
- case function_date_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_int*/
- break;
-
-/****
- *DWORD_TO_REAL
- */
- case function_dword_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_real*/
- break;
-
-/****
- *DWORD_TO_SINT
- */
- case function_dword_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_sint*/
- break;
-
-/****
- *DWORD_TO_LINT
- */
- case function_dword_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_lint*/
- break;
-
-/****
- *DWORD_TO_DINT
- */
- case function_dword_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_dint*/
- break;
-
-/****
- *DWORD_TO_DATE
- */
- case function_dword_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_date*/
- break;
-
-/****
- *DWORD_TO_DWORD
- */
- case function_dword_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_dword*/
- break;
-
-/****
- *DWORD_TO_DT
- */
- case function_dword_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_dt*/
- break;
-
-/****
- *DWORD_TO_TOD
- */
- case function_dword_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_tod*/
- break;
-
-/****
- *DWORD_TO_UDINT
- */
- case function_dword_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_udint*/
- break;
-
-/****
- *DWORD_TO_WORD
- */
- case function_dword_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_word*/
- break;
-
-/****
- *DWORD_TO_WSTRING
- */
- case function_dword_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_wstring*/
- break;
-
-/****
- *DWORD_TO_STRING
- */
- case function_dword_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_string*/
- break;
-
-/****
- *DWORD_TO_LWORD
- */
- case function_dword_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_lword*/
- break;
-
-/****
- *DWORD_TO_UINT
- */
- case function_dword_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_uint*/
- break;
-
-/****
- *DWORD_TO_LREAL
- */
- case function_dword_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_lreal*/
- break;
-
-/****
- *DWORD_TO_BYTE
- */
- case function_dword_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_byte*/
- break;
-
-/****
- *DWORD_TO_USINT
- */
- case function_dword_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_usint*/
- break;
-
-/****
- *DWORD_TO_ULINT
- */
- case function_dword_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_ulint*/
- break;
-
-/****
- *DWORD_TO_BOOL
- */
- case function_dword_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_bool*/
- break;
-
-/****
- *DWORD_TO_TIME
- */
- case function_dword_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_time*/
- break;
-
-/****
- *DWORD_TO_INT
- */
- case function_dword_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_int*/
- break;
+ case function_date_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_wstring*/
+ break;
+
+/****
+ *TOD_TO_REAL
+ */
+ case function_tod_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_real*/
+ break;
+
+/****
+ *TOD_TO_LREAL
+ */
+ case function_tod_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lreal*/
+ break;
+
+/****
+ *TOD_TO_SINT
+ */
+ case function_tod_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_sint*/
+ break;
+
+/****
+ *TOD_TO_INT
+ */
+ case function_tod_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_int*/
+ break;
+
+/****
+ *TOD_TO_DINT
+ */
+ case function_tod_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_dint*/
+ break;
+
+/****
+ *TOD_TO_LINT
+ */
+ case function_tod_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lint*/
+ break;
+
+/****
+ *TOD_TO_USINT
+ */
+ case function_tod_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_usint*/
+ break;
+
+/****
+ *TOD_TO_UINT
+ */
+ case function_tod_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_uint*/
+ break;
+
+/****
+ *TOD_TO_UDINT
+ */
+ case function_tod_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_udint*/
+ break;
+
+/****
+ *TOD_TO_ULINT
+ */
+ case function_tod_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_ulint*/
+ break;
+
+/****
+ *TOD_TO_BOOL
+ */
+ case function_tod_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_bool*/
+ break;
+
+/****
+ *TOD_TO_BYTE
+ */
+ case function_tod_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_byte*/
+ break;
+
+/****
+ *TOD_TO_WORD
+ */
+ case function_tod_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_word*/
+ break;
+
+/****
+ *TOD_TO_DWORD
+ */
+ case function_tod_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_dword*/
+ break;
+
+/****
+ *TOD_TO_LWORD
+ */
+ case function_tod_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lword*/
+ break;
+
+/****
+ *TOD_TO_STRING
+ */
+ case function_tod_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_string*/
+ break;
+
+/****
+ *TOD_TO_WSTRING
+ */
+ case function_tod_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_wstring*/
+ break;
/****
*DT_TO_REAL
*/
- case function_dt_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_real*/
- break;
+ case function_dt_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_real*/
+ break;
+
+/****
+ *DT_TO_LREAL
+ */
+ case function_dt_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lreal*/
+ break;
/****
*DT_TO_SINT
*/
- case function_dt_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_sint*/
- break;
+ case function_dt_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_sint*/
+ break;
+
+/****
+ *DT_TO_INT
+ */
+ case function_dt_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_int*/
+ break;
+
+/****
+ *DT_TO_DINT
+ */
+ case function_dt_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_dint*/
+ break;
/****
*DT_TO_LINT
*/
- case function_dt_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_lint*/
- break;
-
-/****
- *DT_TO_DINT
- */
- case function_dt_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_dint*/
- break;
-
-/****
- *DT_TO_DATE
- */
- case function_dt_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("#error DT_TO_DATE not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_date*/
- break;
+ case function_dt_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lint*/
+ break;
+
+/****
+ *DT_TO_USINT
+ */
+ case function_dt_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_usint*/
+ break;
+
+/****
+ *DT_TO_UINT
+ */
+ case function_dt_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_uint*/
+ break;
+
+/****
+ *DT_TO_UDINT
+ */
+ case function_dt_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_udint*/
+ break;
+
+/****
+ *DT_TO_ULINT
+ */
+ case function_dt_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_ulint*/
+ break;
+
+/****
+ *DT_TO_BOOL
+ */
+ case function_dt_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_bool*/
+ break;
+
+/****
+ *DT_TO_BYTE
+ */
+ case function_dt_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_byte*/
+ break;
+
+/****
+ *DT_TO_WORD
+ */
+ case function_dt_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_word*/
+ break;
/****
*DT_TO_DWORD
*/
- case function_dt_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_dword*/
- break;
-
-/****
- *DT_TO_DT
- */
- case function_dt_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("#error DT_TO_DT not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_dt*/
- break;
-
-/****
- *DT_TO_TOD
- */
- case function_dt_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("#error DT_TO_TOD not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_tod*/
- break;
-
-/****
- *DT_TO_UDINT
- */
- case function_dt_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_udint*/
- break;
-
-/****
- *DT_TO_WORD
- */
- case function_dt_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_word*/
- break;
+ case function_dt_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_dword*/
+ break;
+
+/****
+ *DT_TO_LWORD
+ */
+ case function_dt_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lword*/
+ break;
+
+/****
+ *DT_TO_STRING
+ */
+ case function_dt_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_string*/
+ break;
/****
*DT_TO_WSTRING
*/
- case function_dt_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_wstring*/
- break;
-
-/****
- *DT_TO_STRING
- */
- case function_dt_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_string*/
- break;
-
-/****
- *DT_TO_LWORD
- */
- case function_dt_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_lword*/
- break;
-
-/****
- *DT_TO_UINT
- */
- case function_dt_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_uint*/
- break;
-
-/****
- *DT_TO_LREAL
- */
- case function_dt_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_lreal*/
- break;
-
-/****
- *DT_TO_BYTE
- */
- case function_dt_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_byte*/
- break;
-
-/****
- *DT_TO_USINT
- */
- case function_dt_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_usint*/
- break;
-
-/****
- *DT_TO_ULINT
- */
- case function_dt_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_ulint*/
- break;
-
-/****
- *DT_TO_BOOL
- */
- case function_dt_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_bool*/
- break;
-
-/****
- *DT_TO_TIME
- */
- case function_dt_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("#error DT_TO_TIME not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_time*/
- break;
-
-/****
- *DT_TO_INT
- */
- case function_dt_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_int*/
- break;
-
-/****
- *TOD_TO_REAL
- */
- case function_tod_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_real*/
- break;
-
-/****
- *TOD_TO_SINT
- */
- case function_tod_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_sint*/
- break;
-
-/****
- *TOD_TO_LINT
- */
- case function_tod_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_lint*/
- break;
-
-/****
- *TOD_TO_DINT
- */
- case function_tod_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_dint*/
- break;
-
-/****
- *TOD_TO_DATE
- */
- case function_tod_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("#error TOD_TO_DATE not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_date*/
- break;
-
-/****
- *TOD_TO_DWORD
- */
- case function_tod_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_dword*/
- break;
-
-/****
- *TOD_TO_DT
- */
- case function_tod_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("#error TOD_TO_DT not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_dt*/
- break;
-
-/****
- *TOD_TO_TOD
- */
- case function_tod_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("#error TOD_TO_TOD not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_tod*/
- break;
-
-/****
- *TOD_TO_UDINT
- */
- case function_tod_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_udint*/
- break;
-
-/****
- *TOD_TO_WORD
- */
- case function_tod_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_word*/
- break;
-
-/****
- *TOD_TO_WSTRING
- */
- case function_tod_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_wstring*/
- break;
-
-/****
- *TOD_TO_STRING
- */
- case function_tod_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_string*/
- break;
-
-/****
- *TOD_TO_LWORD
- */
- case function_tod_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_lword*/
- break;
-
-/****
- *TOD_TO_UINT
- */
- case function_tod_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_uint*/
- break;
-
-/****
- *TOD_TO_LREAL
- */
- case function_tod_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_lreal*/
- break;
-
-/****
- *TOD_TO_BYTE
- */
- case function_tod_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_byte*/
- break;
-
-/****
- *TOD_TO_USINT
- */
- case function_tod_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_usint*/
- break;
-
-/****
- *TOD_TO_ULINT
- */
- case function_tod_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_ulint*/
- break;
-
-/****
- *TOD_TO_BOOL
- */
- case function_tod_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_bool*/
- break;
-
-/****
- *TOD_TO_TIME
- */
- case function_tod_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("#error TOD_TO_TIME not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_time*/
- break;
-
-/****
- *TOD_TO_INT
- */
- case function_tod_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_int*/
- break;
-
-/****
- *UDINT_TO_REAL
- */
- case function_udint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_real*/
- break;
-
-/****
- *UDINT_TO_SINT
- */
- case function_udint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_sint*/
- break;
-
-/****
- *UDINT_TO_LINT
- */
- case function_udint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_lint*/
- break;
-
-/****
- *UDINT_TO_DINT
- */
- case function_udint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_dint*/
- break;
-
-/****
- *UDINT_TO_DATE
- */
- case function_udint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_date*/
- break;
-
-/****
- *UDINT_TO_DWORD
- */
- case function_udint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_dword*/
- break;
-
-/****
- *UDINT_TO_DT
- */
- case function_udint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_dt*/
- break;
-
-/****
- *UDINT_TO_TOD
- */
- case function_udint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_tod*/
- break;
-
-/****
- *UDINT_TO_UDINT
- */
- case function_udint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_udint*/
- break;
-
-/****
- *UDINT_TO_WORD
- */
- case function_udint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_word*/
- break;
-
-/****
- *UDINT_TO_WSTRING
- */
- case function_udint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_wstring*/
- break;
-
-/****
- *UDINT_TO_STRING
- */
- case function_udint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_string*/
- break;
-
-/****
- *UDINT_TO_LWORD
- */
- case function_udint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_lword*/
- break;
-
-/****
- *UDINT_TO_UINT
- */
- case function_udint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_uint*/
- break;
-
-/****
- *UDINT_TO_LREAL
- */
- case function_udint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_lreal*/
- break;
-
-/****
- *UDINT_TO_BYTE
- */
- case function_udint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_byte*/
- break;
-
-/****
- *UDINT_TO_USINT
- */
- case function_udint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_usint*/
- break;
-
-/****
- *UDINT_TO_ULINT
- */
- case function_udint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_ulint*/
- break;
-
-/****
- *UDINT_TO_BOOL
- */
- case function_udint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_bool*/
- break;
-
-/****
- *UDINT_TO_TIME
- */
- case function_udint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_time*/
- break;
-
-/****
- *UDINT_TO_INT
- */
- case function_udint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_int*/
- break;
-
-/****
- *WORD_TO_REAL
- */
- case function_word_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_real*/
- break;
-
-/****
- *WORD_TO_SINT
- */
- case function_word_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_sint*/
- break;
-
-/****
- *WORD_TO_LINT
- */
- case function_word_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_lint*/
- break;
-
-/****
- *WORD_TO_DINT
- */
- case function_word_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_dint*/
- break;
-
-/****
- *WORD_TO_DATE
- */
- case function_word_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_date*/
- break;
-
-/****
- *WORD_TO_DWORD
- */
- case function_word_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_dword*/
- break;
-
-/****
- *WORD_TO_DT
- */
- case function_word_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_dt*/
- break;
-
-/****
- *WORD_TO_TOD
- */
- case function_word_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_tod*/
- break;
-
-/****
- *WORD_TO_UDINT
- */
- case function_word_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_udint*/
- break;
-
-/****
- *WORD_TO_WORD
- */
- case function_word_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_word*/
- break;
-
-/****
- *WORD_TO_WSTRING
- */
- case function_word_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_wstring*/
- break;
-
-/****
- *WORD_TO_STRING
- */
- case function_word_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_string*/
- break;
-
-/****
- *WORD_TO_LWORD
- */
- case function_word_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_lword*/
- break;
-
-/****
- *WORD_TO_UINT
- */
- case function_word_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_uint*/
- break;
-
-/****
- *WORD_TO_LREAL
- */
- case function_word_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_lreal*/
- break;
-
-/****
- *WORD_TO_BYTE
- */
- case function_word_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_byte*/
- break;
-
-/****
- *WORD_TO_USINT
- */
- case function_word_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_usint*/
- break;
-
-/****
- *WORD_TO_ULINT
- */
- case function_word_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_ulint*/
- break;
-
-/****
- *WORD_TO_BOOL
- */
- case function_word_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_bool*/
- break;
-
-/****
- *WORD_TO_TIME
- */
- case function_word_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_time*/
- break;
-
-/****
- *WORD_TO_INT
- */
- case function_word_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_int*/
- break;
-
-/****
- *WSTRING_TO_REAL
- */
- case function_wstring_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_real*/
- break;
-
-/****
- *WSTRING_TO_SINT
- */
- case function_wstring_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_sint*/
- break;
-
-/****
- *WSTRING_TO_LINT
- */
- case function_wstring_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_lint*/
- break;
-
-/****
- *WSTRING_TO_DINT
- */
- case function_wstring_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_dint*/
- break;
-
-/****
- *WSTRING_TO_DATE
- */
- case function_wstring_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_date*/
- break;
-
-/****
- *WSTRING_TO_DWORD
- */
- case function_wstring_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_dword*/
- break;
-
-/****
- *WSTRING_TO_DT
- */
- case function_wstring_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_dt*/
- break;
-
-/****
- *WSTRING_TO_TOD
- */
- case function_wstring_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_tod*/
- break;
-
-/****
- *WSTRING_TO_UDINT
- */
- case function_wstring_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_udint*/
- break;
-
-/****
- *WSTRING_TO_WORD
- */
- case function_wstring_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_word*/
- break;
-
-/****
- *WSTRING_TO_WSTRING
- */
- case function_wstring_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("#error WSTRING_TO_WSTRING not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_wstring*/
- break;
-
-/****
- *WSTRING_TO_STRING
- */
- case function_wstring_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("#error WSTRING_TO_STRING not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_string*/
- break;
-
-/****
- *WSTRING_TO_LWORD
- */
- case function_wstring_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_lword*/
- break;
-
-/****
- *WSTRING_TO_UINT
- */
- case function_wstring_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_uint*/
- break;
-
-/****
- *WSTRING_TO_LREAL
- */
- case function_wstring_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_lreal*/
- break;
-
-/****
- *WSTRING_TO_BYTE
- */
- case function_wstring_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_byte*/
- break;
-
-/****
- *WSTRING_TO_USINT
- */
- case function_wstring_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_usint*/
- break;
-
-/****
- *WSTRING_TO_ULINT
- */
- case function_wstring_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_ulint*/
- break;
-
-/****
- *WSTRING_TO_BOOL
- */
- case function_wstring_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_bool*/
- break;
-
-/****
- *WSTRING_TO_TIME
- */
- case function_wstring_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_time*/
- break;
-
-/****
- *WSTRING_TO_INT
- */
- case function_wstring_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_int*/
- break;
-
-/****
- *STRING_TO_REAL
- */
- case function_string_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_real*/
- break;
-
-/****
- *STRING_TO_SINT
- */
- case function_string_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_sint*/
- break;
-
-/****
- *STRING_TO_LINT
- */
- case function_string_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_lint*/
- break;
-
-/****
- *STRING_TO_DINT
- */
- case function_string_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_dint*/
- break;
-
-/****
- *STRING_TO_DATE
- */
- case function_string_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_date*/
- break;
-
-/****
- *STRING_TO_DWORD
- */
- case function_string_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_dword*/
- break;
-
-/****
- *STRING_TO_DT
- */
- case function_string_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_dt*/
- break;
-
-/****
- *STRING_TO_TOD
- */
- case function_string_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_tod*/
- break;
-
-/****
- *STRING_TO_UDINT
- */
- case function_string_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_udint*/
- break;
-
-/****
- *STRING_TO_WORD
- */
- case function_string_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_word*/
- break;
-
-/****
- *STRING_TO_WSTRING
- */
- case function_string_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("#error STRING_TO_WSTRING not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_wstring*/
- break;
-
-/****
- *STRING_TO_STRING
- */
- case function_string_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("#error STRING_TO_STRING not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_string*/
- break;
-
-/****
- *STRING_TO_LWORD
- */
- case function_string_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_lword*/
- break;
-
-/****
- *STRING_TO_UINT
- */
- case function_string_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_uint*/
- break;
-
-/****
- *STRING_TO_LREAL
- */
- case function_string_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_lreal*/
- break;
-
-/****
- *STRING_TO_BYTE
- */
- case function_string_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_byte*/
- break;
-
-/****
- *STRING_TO_USINT
- */
- case function_string_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_usint*/
- break;
-
-/****
- *STRING_TO_ULINT
- */
- case function_string_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_ulint*/
- break;
-
-/****
- *STRING_TO_BOOL
- */
- case function_string_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_bool*/
- break;
-
-/****
- *STRING_TO_TIME
- */
- case function_string_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_time*/
- break;
-
-/****
- *STRING_TO_INT
- */
- case function_string_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_int*/
- break;
-
-/****
- *LWORD_TO_REAL
- */
- case function_lword_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_real*/
- break;
-
-/****
- *LWORD_TO_SINT
- */
- case function_lword_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_sint*/
- break;
-
-/****
- *LWORD_TO_LINT
- */
- case function_lword_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_lint*/
- break;
-
-/****
- *LWORD_TO_DINT
- */
- case function_lword_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_dint*/
- break;
-
-/****
- *LWORD_TO_DATE
- */
- case function_lword_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_date*/
- break;
-
-/****
- *LWORD_TO_DWORD
- */
- case function_lword_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_dword*/
- break;
-
-/****
- *LWORD_TO_DT
- */
- case function_lword_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_dt*/
- break;
-
-/****
- *LWORD_TO_TOD
- */
- case function_lword_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_tod*/
- break;
-
-/****
- *LWORD_TO_UDINT
- */
- case function_lword_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_udint*/
- break;
-
-/****
- *LWORD_TO_WORD
- */
- case function_lword_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_word*/
- break;
-
-/****
- *LWORD_TO_WSTRING
- */
- case function_lword_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_wstring*/
- break;
-
-/****
- *LWORD_TO_STRING
- */
- case function_lword_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_string*/
- break;
-
-/****
- *LWORD_TO_LWORD
- */
- case function_lword_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_lword*/
- break;
-
-/****
- *LWORD_TO_UINT
- */
- case function_lword_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_uint*/
- break;
-
-/****
- *LWORD_TO_LREAL
- */
- case function_lword_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_lreal*/
- break;
-
-/****
- *LWORD_TO_BYTE
- */
- case function_lword_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_byte*/
- break;
-
-/****
- *LWORD_TO_USINT
- */
- case function_lword_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_usint*/
- break;
-
-/****
- *LWORD_TO_ULINT
- */
- case function_lword_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_ulint*/
- break;
-
-/****
- *LWORD_TO_BOOL
- */
- case function_lword_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_bool*/
- break;
-
-/****
- *LWORD_TO_TIME
- */
- case function_lword_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_time*/
- break;
-
-/****
- *LWORD_TO_INT
- */
- case function_lword_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_int*/
- break;
-
-/****
- *UINT_TO_REAL
- */
- case function_uint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_real*/
- break;
-
-/****
- *UINT_TO_SINT
- */
- case function_uint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_sint*/
- break;
-
-/****
- *UINT_TO_LINT
- */
- case function_uint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_lint*/
- break;
-
-/****
- *UINT_TO_DINT
- */
- case function_uint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_dint*/
- break;
-
-/****
- *UINT_TO_DATE
- */
- case function_uint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_date*/
- break;
-
-/****
- *UINT_TO_DWORD
- */
- case function_uint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_dword*/
- break;
-
-/****
- *UINT_TO_DT
- */
- case function_uint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_dt*/
- break;
-
-/****
- *UINT_TO_TOD
- */
- case function_uint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_tod*/
- break;
-
-/****
- *UINT_TO_UDINT
- */
- case function_uint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_udint*/
- break;
-
-/****
- *UINT_TO_WORD
- */
- case function_uint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_word*/
- break;
-
-/****
- *UINT_TO_WSTRING
- */
- case function_uint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_wstring*/
- break;
-
-/****
- *UINT_TO_STRING
- */
- case function_uint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_string*/
- break;
-
-/****
- *UINT_TO_LWORD
- */
- case function_uint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_lword*/
- break;
-
-/****
- *UINT_TO_UINT
- */
- case function_uint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_uint*/
- break;
-
-/****
- *UINT_TO_LREAL
- */
- case function_uint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_lreal*/
- break;
-
-/****
- *UINT_TO_BYTE
- */
- case function_uint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_byte*/
- break;
-
-/****
- *UINT_TO_USINT
- */
- case function_uint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_usint*/
- break;
-
-/****
- *UINT_TO_ULINT
- */
- case function_uint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_ulint*/
- break;
-
-/****
- *UINT_TO_BOOL
- */
- case function_uint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_bool*/
- break;
-
-/****
- *UINT_TO_TIME
- */
- case function_uint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_time*/
- break;
-
-/****
- *UINT_TO_INT
- */
- case function_uint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_int*/
- break;
-
-/****
- *LREAL_TO_REAL
- */
- case function_lreal_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_real*/
- break;
-
-/****
- *LREAL_TO_SINT
- */
- case function_lreal_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_sint*/
- break;
-
-/****
- *LREAL_TO_LINT
- */
- case function_lreal_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_lint*/
- break;
-
-/****
- *LREAL_TO_DINT
- */
- case function_lreal_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_dint*/
- break;
-
-/****
- *LREAL_TO_DATE
- */
- case function_lreal_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_date*/
- break;
-
-/****
- *LREAL_TO_DWORD
- */
- case function_lreal_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_dword*/
- break;
-
-/****
- *LREAL_TO_DT
- */
- case function_lreal_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_dt*/
- break;
-
-/****
- *LREAL_TO_TOD
- */
- case function_lreal_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_tod*/
- break;
-
-/****
- *LREAL_TO_UDINT
- */
- case function_lreal_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_udint*/
- break;
-
-/****
- *LREAL_TO_WORD
- */
- case function_lreal_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_word*/
- break;
-
-/****
- *LREAL_TO_WSTRING
- */
- case function_lreal_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_wstring*/
- break;
-
-/****
- *LREAL_TO_STRING
- */
- case function_lreal_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_string*/
- break;
-
-/****
- *LREAL_TO_LWORD
- */
- case function_lreal_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_lword*/
- break;
-
-/****
- *LREAL_TO_UINT
- */
- case function_lreal_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_uint*/
- break;
-
-/****
- *LREAL_TO_LREAL
- */
- case function_lreal_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_lreal*/
- break;
-
-/****
- *LREAL_TO_BYTE
- */
- case function_lreal_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_byte*/
- break;
-
-/****
- *LREAL_TO_USINT
- */
- case function_lreal_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_usint*/
- break;
-
-/****
- *LREAL_TO_ULINT
- */
- case function_lreal_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_ulint*/
- break;
-
-/****
- *LREAL_TO_BOOL
- */
- case function_lreal_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_bool*/
- break;
-
-/****
- *LREAL_TO_TIME
- */
- case function_lreal_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_time*/
- break;
-
-/****
- *LREAL_TO_INT
- */
- case function_lreal_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_int*/
- break;
-
-/****
- *BYTE_TO_REAL
- */
- case function_byte_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_real*/
- break;
-
-/****
- *BYTE_TO_SINT
- */
- case function_byte_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_sint*/
- break;
-
-/****
- *BYTE_TO_LINT
- */
- case function_byte_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_lint*/
- break;
-
-/****
- *BYTE_TO_DINT
- */
- case function_byte_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_dint*/
- break;
-
-/****
- *BYTE_TO_DATE
- */
- case function_byte_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_date*/
- break;
-
-/****
- *BYTE_TO_DWORD
- */
- case function_byte_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_dword*/
- break;
-
-/****
- *BYTE_TO_DT
- */
- case function_byte_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_dt*/
- break;
-
-/****
- *BYTE_TO_TOD
- */
- case function_byte_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_tod*/
- break;
-
-/****
- *BYTE_TO_UDINT
- */
- case function_byte_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_udint*/
- break;
-
-/****
- *BYTE_TO_WORD
- */
- case function_byte_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_word*/
- break;
-
-/****
- *BYTE_TO_WSTRING
- */
- case function_byte_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_wstring*/
- break;
-
-/****
- *BYTE_TO_STRING
- */
- case function_byte_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_string*/
- break;
-
-/****
- *BYTE_TO_LWORD
- */
- case function_byte_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_lword*/
- break;
-
-/****
- *BYTE_TO_UINT
- */
- case function_byte_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_uint*/
- break;
-
-/****
- *BYTE_TO_LREAL
- */
- case function_byte_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_lreal*/
- break;
-
-/****
- *BYTE_TO_BYTE
- */
- case function_byte_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_byte*/
- break;
-
-/****
- *BYTE_TO_USINT
- */
- case function_byte_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_usint*/
- break;
-
-/****
- *BYTE_TO_ULINT
- */
- case function_byte_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_ulint*/
- break;
-
-/****
- *BYTE_TO_BOOL
- */
- case function_byte_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_bool*/
- break;
-
-/****
- *BYTE_TO_TIME
- */
- case function_byte_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_time*/
- break;
-
-/****
- *BYTE_TO_INT
- */
- case function_byte_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_int*/
- break;
-
-/****
- *USINT_TO_REAL
- */
- case function_usint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_real*/
- break;
-
-/****
- *USINT_TO_SINT
- */
- case function_usint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_sint*/
- break;
-
-/****
- *USINT_TO_LINT
- */
- case function_usint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_lint*/
- break;
-
-/****
- *USINT_TO_DINT
- */
- case function_usint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_dint*/
- break;
-
-/****
- *USINT_TO_DATE
- */
- case function_usint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_date*/
- break;
-
-/****
- *USINT_TO_DWORD
- */
- case function_usint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_dword*/
- break;
-
-/****
- *USINT_TO_DT
- */
- case function_usint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_dt*/
- break;
-
-/****
- *USINT_TO_TOD
- */
- case function_usint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_tod*/
- break;
-
-/****
- *USINT_TO_UDINT
- */
- case function_usint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_udint*/
- break;
-
-/****
- *USINT_TO_WORD
- */
- case function_usint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_word*/
- break;
-
-/****
- *USINT_TO_WSTRING
- */
- case function_usint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_wstring*/
- break;
-
-/****
- *USINT_TO_STRING
- */
- case function_usint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_string*/
- break;
-
-/****
- *USINT_TO_LWORD
- */
- case function_usint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_lword*/
- break;
-
-/****
- *USINT_TO_UINT
- */
- case function_usint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_uint*/
- break;
-
-/****
- *USINT_TO_LREAL
- */
- case function_usint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_lreal*/
- break;
-
-/****
- *USINT_TO_BYTE
- */
- case function_usint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_byte*/
- break;
-
-/****
- *USINT_TO_USINT
- */
- case function_usint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_usint*/
- break;
-
-/****
- *USINT_TO_ULINT
- */
- case function_usint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_ulint*/
- break;
-
-/****
- *USINT_TO_BOOL
- */
- case function_usint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_bool*/
- break;
-
-/****
- *USINT_TO_TIME
- */
- case function_usint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_time*/
- break;
-
-/****
- *USINT_TO_INT
- */
- case function_usint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_int*/
- break;
-
-/****
- *ULINT_TO_REAL
- */
- case function_ulint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_real*/
- break;
-
-/****
- *ULINT_TO_SINT
- */
- case function_ulint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_sint*/
- break;
-
-/****
- *ULINT_TO_LINT
- */
- case function_ulint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_lint*/
- break;
-
-/****
- *ULINT_TO_DINT
- */
- case function_ulint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_dint*/
- break;
-
-/****
- *ULINT_TO_DATE
- */
- case function_ulint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_date*/
- break;
-
-/****
- *ULINT_TO_DWORD
- */
- case function_ulint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_dword*/
- break;
-
-/****
- *ULINT_TO_DT
- */
- case function_ulint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_dt*/
- break;
-
-/****
- *ULINT_TO_TOD
- */
- case function_ulint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_tod*/
- break;
-
-/****
- *ULINT_TO_UDINT
- */
- case function_ulint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_udint*/
- break;
-
-/****
- *ULINT_TO_WORD
- */
- case function_ulint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_word*/
- break;
-
-/****
- *ULINT_TO_WSTRING
- */
- case function_ulint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_wstring*/
- break;
-
-/****
- *ULINT_TO_STRING
- */
- case function_ulint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_string*/
- break;
-
-/****
- *ULINT_TO_LWORD
- */
- case function_ulint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_lword*/
- break;
-
-/****
- *ULINT_TO_UINT
- */
- case function_ulint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_uint*/
- break;
-
-/****
- *ULINT_TO_LREAL
- */
- case function_ulint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_lreal*/
- break;
-
-/****
- *ULINT_TO_BYTE
- */
- case function_ulint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_byte*/
- break;
-
-/****
- *ULINT_TO_USINT
- */
- case function_ulint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_usint*/
- break;
-
-/****
- *ULINT_TO_ULINT
- */
- case function_ulint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_ulint*/
- break;
-
-/****
- *ULINT_TO_BOOL
- */
- case function_ulint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_bool*/
- break;
-
-/****
- *ULINT_TO_TIME
- */
- case function_ulint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_time*/
- break;
-
-/****
- *ULINT_TO_INT
- */
- case function_ulint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_int*/
- break;
-
-/****
- *BOOL_TO_REAL
- */
- case function_bool_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_real*/
- break;
-
-/****
- *BOOL_TO_SINT
- */
- case function_bool_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_sint*/
- break;
-
-/****
- *BOOL_TO_LINT
- */
- case function_bool_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_lint*/
- break;
-
-/****
- *BOOL_TO_DINT
- */
- case function_bool_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_dint*/
- break;
-
-/****
- *BOOL_TO_DATE
- */
- case function_bool_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_date*/
- break;
-
-/****
- *BOOL_TO_DWORD
- */
- case function_bool_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_dword*/
- break;
-
-/****
- *BOOL_TO_DT
- */
- case function_bool_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_dt*/
- break;
-
-/****
- *BOOL_TO_TOD
- */
- case function_bool_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_tod*/
- break;
-
-/****
- *BOOL_TO_UDINT
- */
- case function_bool_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_udint*/
- break;
-
-/****
- *BOOL_TO_WORD
- */
- case function_bool_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_word*/
- break;
-
-/****
- *BOOL_TO_WSTRING
- */
- case function_bool_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_wstring*/
- break;
-
-/****
- *BOOL_TO_STRING
- */
- case function_bool_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_string*/
- break;
-
-/****
- *BOOL_TO_LWORD
- */
- case function_bool_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_lword*/
- break;
-
-/****
- *BOOL_TO_UINT
- */
- case function_bool_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_uint*/
- break;
-
-/****
- *BOOL_TO_LREAL
- */
- case function_bool_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_lreal*/
- break;
-
-/****
- *BOOL_TO_BYTE
- */
- case function_bool_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_byte*/
- break;
-
-/****
- *BOOL_TO_USINT
- */
- case function_bool_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_usint*/
- break;
-
-/****
- *BOOL_TO_ULINT
- */
- case function_bool_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_ulint*/
- break;
-
-/****
- *BOOL_TO_BOOL
- */
- case function_bool_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_bool*/
- break;
-
-/****
- *BOOL_TO_TIME
- */
- case function_bool_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_time*/
- break;
-
-/****
- *BOOL_TO_INT
- */
- case function_bool_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_int*/
- break;
-
-/****
- *TIME_TO_REAL
- */
- case function_time_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_real*/
- break;
-
-/****
- *TIME_TO_SINT
- */
- case function_time_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_sint*/
- break;
-
-/****
- *TIME_TO_LINT
- */
- case function_time_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_lint*/
- break;
-
-/****
- *TIME_TO_DINT
- */
- case function_time_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_dint*/
- break;
-
-/****
- *TIME_TO_DATE
- */
- case function_time_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("#error TIME_TO_DATE not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_date*/
- break;
-
-/****
- *TIME_TO_DWORD
- */
- case function_time_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_dword*/
- break;
-
-/****
- *TIME_TO_DT
- */
- case function_time_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("#error TIME_TO_DT not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_dt*/
- break;
-
-/****
- *TIME_TO_TOD
- */
- case function_time_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("#error TIME_TO_TOD not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_tod*/
- break;
-
-/****
- *TIME_TO_UDINT
- */
- case function_time_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_udint*/
- break;
-
-/****
- *TIME_TO_WORD
- */
- case function_time_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_word*/
- break;
-
-/****
- *TIME_TO_WSTRING
- */
- case function_time_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_wstring*/
- break;
-
-/****
- *TIME_TO_STRING
- */
- case function_time_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_string*/
- break;
-
-/****
- *TIME_TO_LWORD
- */
- case function_time_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_lword*/
- break;
-
-/****
- *TIME_TO_UINT
- */
- case function_time_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_uint*/
- break;
-
-/****
- *TIME_TO_LREAL
- */
- case function_time_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_lreal*/
- break;
-
-/****
- *TIME_TO_BYTE
- */
- case function_time_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_byte*/
- break;
-
-/****
- *TIME_TO_USINT
- */
- case function_time_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_usint*/
- break;
-
-/****
- *TIME_TO_ULINT
- */
- case function_time_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_ulint*/
- break;
-
-/****
- *TIME_TO_BOOL
- */
- case function_time_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_bool*/
- break;
-
-/****
- *TIME_TO_TIME
- */
- case function_time_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("#error TIME_TO_TIME not implemented!");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_time*/
- break;
-
-/****
- *TIME_TO_INT
- */
- case function_time_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_int*/
- break;
-
-/****
- *INT_TO_REAL
- */
- case function_int_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_real*/
- break;
-
-/****
- *INT_TO_SINT
- */
- case function_int_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_sint*/
- break;
-
-/****
- *INT_TO_LINT
- */
- case function_int_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_lint*/
- break;
-
-/****
- *INT_TO_DINT
- */
- case function_int_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_dint*/
- break;
-
-/****
- *INT_TO_DATE
- */
- case function_int_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_date*/
- break;
-
-/****
- *INT_TO_DWORD
- */
- case function_int_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_dword*/
- break;
-
-/****
- *INT_TO_DT
- */
- case function_int_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_dt*/
- break;
-
-/****
- *INT_TO_TOD
- */
- case function_int_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_tod*/
- break;
-
-/****
- *INT_TO_UDINT
- */
- case function_int_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_udint*/
- break;
-
-/****
- *INT_TO_WORD
- */
- case function_int_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_word*/
- break;
-
-/****
- *INT_TO_WSTRING
- */
- case function_int_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_wstring*/
- break;
-
-/****
- *INT_TO_STRING
- */
- case function_int_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_string*/
- break;
-
-/****
- *INT_TO_LWORD
- */
- case function_int_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_lword*/
- break;
-
-/****
- *INT_TO_UINT
- */
- case function_int_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_uint*/
- break;
-
-/****
- *INT_TO_LREAL
- */
- case function_int_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_lreal*/
- break;
-
-/****
- *INT_TO_BYTE
- */
- case function_int_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_byte*/
- break;
-
-/****
- *INT_TO_USINT
- */
- case function_int_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_usint*/
- break;
-
-/****
- *INT_TO_ULINT
- */
- case function_int_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_ulint*/
- break;
-
-/****
- *INT_TO_BOOL
- */
- case function_int_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_bool*/
- break;
-
-/****
- *INT_TO_TIME
- */
- case function_int_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_time*/
- break;
-
-/****
- *INT_TO_INT
- */
- case function_int_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_int*/
- break;
+ case function_dt_to_wstring :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_wstring*/
+ break;
/****
*TRUNC
*/
- case function_trunc :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("(int)");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_trunc*/
- break;
+ case function_trunc :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("(int)");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_trunc*/
+ break;
/****
*BCD_TO_SINT
*/
- case function_bcd_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_sint*/
- break;
+ case function_bcd_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_sint*/
+ break;
+
+/****
+ *BCD_TO_INT
+ */
+ case function_bcd_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_int*/
+ break;
+
+/****
+ *BCD_TO_DINT
+ */
+ case function_bcd_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_dint*/
+ break;
/****
*BCD_TO_LINT
*/
- case function_bcd_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_lint*/
- break;
-
-/****
- *BCD_TO_DINT
- */
- case function_bcd_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_dint*/
- break;
+ case function_bcd_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_lint*/
+ break;
+
+/****
+ *BCD_TO_USINT
+ */
+ case function_bcd_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_usint*/
+ break;
+
+/****
+ *BCD_TO_UINT
+ */
+ case function_bcd_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_uint*/
+ break;
/****
*BCD_TO_UDINT
*/
- case function_bcd_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_udint*/
- break;
-
-/****
- *BCD_TO_UINT
- */
- case function_bcd_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_uint*/
- break;
-
-/****
- *BCD_TO_USINT
- */
- case function_bcd_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_usint*/
- break;
+ case function_bcd_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_udint*/
+ break;
/****
*BCD_TO_ULINT
*/
- case function_bcd_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_ulint*/
- break;
-
-/****
- *BCD_TO_INT
- */
- case function_bcd_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_int*/
- break;
+ case function_bcd_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("__bcd_to_something(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bcd_to_ulint*/
+ break;
/****
*SINT_TO_BCD
*/
- case function_sint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_bcd*/
- break;
+ case function_sint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_bcd*/
+ break;
+
+/****
+ *INT_TO_BCD
+ */
+ case function_int_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_bcd*/
+ break;
+
+/****
+ *DINT_TO_BCD
+ */
+ case function_dint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_bcd*/
+ break;
/****
*LINT_TO_BCD
*/
- case function_lint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_bcd*/
- break;
-
-/****
- *DINT_TO_BCD
- */
- case function_dint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_bcd*/
- break;
+ case function_lint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_bcd*/
+ break;
+
+/****
+ *USINT_TO_BCD
+ */
+ case function_usint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_bcd*/
+ break;
+
+/****
+ *UINT_TO_BCD
+ */
+ case function_uint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_bcd*/
+ break;
/****
*UDINT_TO_BCD
*/
- case function_udint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_bcd*/
- break;
-
-/****
- *UINT_TO_BCD
- */
- case function_uint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_bcd*/
- break;
-
-/****
- *USINT_TO_BCD
- */
- case function_usint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_bcd*/
- break;
+ case function_udint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_bcd*/
+ break;
/****
*ULINT_TO_BCD
*/
- case function_ulint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_bcd*/
- break;
-
-/****
- *INT_TO_BCD
- */
- case function_int_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_bcd*/
- break;
+ case function_ulint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
+ s4o.print("__something_to_bcd(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("),&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_bcd*/
+ break;
/****
*DATE_AND_TIME_TO_TIME_OF_DAY
*/
- case function_date_and_time_to_time_of_day :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("__date_and_time_to_time_of_day(&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_and_time_to_time_of_day*/
- break;
+ case function_date_and_time_to_time_of_day :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("__date_and_time_to_time_of_day(&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_and_time_to_time_of_day*/
+ break;
/****
*DATE_AND_TIME_TO_DATE
*/
- case function_date_and_time_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("__date_and_time_to_time_of_day(&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_and_time_to_date*/
- break;
+ case function_date_and_time_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("__date_and_time_to_time_of_day(&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_and_time_to_date*/
+ break;
/****
*ABS
*/
- case function_abs :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_num_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("__abs_");
- IN_type_symbol->accept(*this);
- s4o.print("(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_abs*/
- break;
+ case function_abs :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("__abs_");
+ IN_type_symbol->accept(*this);
+ s4o.print("(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_abs*/
+ break;
/****
*SQRT
*/
- case function_sqrt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("sqrt(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sqrt*/
- break;
+ case function_sqrt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("sqrt(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sqrt*/
+ break;
/****
*LN
*/
- case function_ln :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("ln(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ln*/
- break;
+ case function_ln :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("ln(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ln*/
+ break;
/****
*LOG
*/
- case function_log :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("log(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_log*/
- break;
+ case function_log :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("log(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_log*/
+ break;
/****
*EXP
*/
- case function_exp :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("exp(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_exp*/
- break;
+ case function_exp :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("exp(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_exp*/
+ break;
/****
*SIN
*/
- case function_sin :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("sin(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sin*/
- break;
+ case function_sin :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("sin(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sin*/
+ break;
/****
*COS
*/
- case function_cos :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("cos(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_cos*/
- break;
+ case function_cos :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("cos(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_cos*/
+ break;
/****
*TAN
*/
- case function_tan :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("tan(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tan*/
- break;
+ case function_tan :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("tan(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tan*/
+ break;
/****
*ASIN
*/
- case function_asin :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("asin(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_asin*/
- break;
+ case function_asin :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("asin(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_asin*/
+ break;
/****
*ACOS
*/
- case function_acos :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("acos(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_acos*/
- break;
+ case function_acos :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("acos(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_acos*/
+ break;
/****
*ATAN
*/
- case function_atan :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_real_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("atan(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_atan*/
- break;
+ case function_atan :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_real_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("atan(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_atan*/
+ break;
/****
*ADD
*/
- case function_add :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("(");
- IN1_param_value->accept(*this);
- s4o.print("+");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print("+");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("__time_add(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("__time_add(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_add(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_add*/
- break;
+ case function_add :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("+");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print("+");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("__time_add(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("__time_add(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_add(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_add*/
+ break;
/****
*MUL
*/
- case function_mul :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("(");
- IN1_param_value->accept(*this);
- s4o.print("*");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print("*");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_mul(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_mul*/
- break;
+ case function_mul :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("*");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print("*");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_mul(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mul*/
+ break;
/****
*SUB
*/
- case function_sub :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("(");
- IN1_param_value->accept(*this);
- s4o.print("-");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_sub(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_sub(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("__time_sub(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_sub(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("__time_sub(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_sub(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_sub*/
- break;
+ case function_sub :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("-");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_sub(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sub*/
+ break;
/****
*DIV
*/
- case function_div :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("(");
- IN1_param_value->accept(*this);
- s4o.print("/");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_div(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_div*/
- break;
+ case function_div :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("/");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("__time_div(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_div*/
+ break;
/****
*MOD
*/
- case function_mod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("(");
- IN1_param_value->accept(*this);
- s4o.print("%");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_mod*/
- break;
+ case function_mod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("%");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mod*/
+ break;
/****
*EXPT
*/
- case function_expt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_num_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_num_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("pow(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_expt*/
- break;
+ case function_expt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("pow(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_expt*/
+ break;
/****
*MOVE
*/
- case function_move :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_num_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_move*/
- break;
+ case function_move :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_num_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_move*/
+ break;
/****
*SHL
*/
- case function_shl :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- {
- identifier_c param_name("N");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (N_param_value == NULL)
- N_param_value = function_call_param_iterator.next();
- symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- IN_param_value->accept(*this);
- s4o.print("<<");
- N_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_shl*/
- break;
+ case function_shl :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ IN_param_value->accept(*this);
+ s4o.print("<<");
+ N_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_shl*/
+ break;
/****
*SHR
*/
- case function_shr :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- {
- identifier_c param_name("N");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (N_param_value == NULL)
- N_param_value = function_call_param_iterator.next();
- symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- IN_param_value->accept(*this);
- s4o.print(">>");
- N_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_shr*/
- break;
+ case function_shr :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ IN_param_value->accept(*this);
+ s4o.print(">>");
+ N_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_shr*/
+ break;
/****
*ROR
*/
- case function_ror :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- {
- identifier_c param_name("N");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (N_param_value == NULL)
- N_param_value = function_call_param_iterator.next();
- symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("__ror(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("), &");
- IN_param_value->accept(*this);
- s4o.print(", ");
- N_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_ror*/
- break;
+ case function_ror :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("__ror(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("), &");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ N_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ror*/
+ break;
/****
*ROL
*/
- case function_rol :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- {
- identifier_c param_name("N");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (N_param_value == NULL)
- N_param_value = function_call_param_iterator.next();
- symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("__rol(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("), &");
- IN_param_value->accept(*this);
- s4o.print(", ");
- N_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_rol*/
- break;
+ case function_rol :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ {
+ identifier_c param_name("N");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *N_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (N_param_value == NULL)
+ N_param_value = function_call_param_iterator.next();
+ symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("__rol(sizeof(");
+ IN_type_symbol->accept(*this);
+ s4o.print("), &");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ N_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_rol*/
+ break;
/****
*AND
*/
- case function_and :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("(");
- if (search_expression_type->is_bool_type(last_type_symbol))
- s4o.print("(");
- IN1_param_value->accept(*this);
- s4o.print("&");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print("&");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- if (search_expression_type->is_bool_type(last_type_symbol)) {
- s4o.print("&1");
- s4o.print(")");
- }
- s4o.print("");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_and*/
- break;
+ case function_and :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ if (search_expression_type->is_bool_type(last_type_symbol))
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("&");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print("&");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ if (search_expression_type->is_bool_type(last_type_symbol)) {
+ s4o.print("&1");
+ s4o.print(")");
+ }
+ s4o.print("");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_and*/
+ break;
/****
*OR
*/
- case function_or :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("(");
- if (search_expression_type->is_bool_type(last_type_symbol))
- s4o.print("(");
- IN1_param_value->accept(*this);
- s4o.print("|");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print("|");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- if (search_expression_type->is_bool_type(last_type_symbol)) {
- s4o.print("&1");
- s4o.print(")");
- }
- s4o.print("");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_or*/
- break;
+ case function_or :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ if (search_expression_type->is_bool_type(last_type_symbol))
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("|");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print("|");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ if (search_expression_type->is_bool_type(last_type_symbol)) {
+ s4o.print("&1");
+ s4o.print(")");
+ }
+ s4o.print("");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_or*/
+ break;
/****
*XOR
*/
- case function_xor :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN1_type_symbol))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN2_type_symbol))
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("(");
- if (search_expression_type->is_bool_type(last_type_symbol))
- s4o.print("(");
- IN1_param_value->accept(*this);
- s4o.print("^");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print("^");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- if (search_expression_type->is_bool_type(last_type_symbol)) {
- s4o.print("&1");
- s4o.print(")");
- }
- s4o.print("");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_xor*/
- break;
+ case function_xor :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN1_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN2_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("(");
+ if (search_expression_type->is_bool_type(last_type_symbol))
+ s4o.print("(");
+ IN1_param_value->accept(*this);
+ s4o.print("^");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print("^");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ if (search_expression_type->is_bool_type(last_type_symbol)) {
+ s4o.print("&1");
+ s4o.print(")");
+ }
+ s4o.print("");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_xor*/
+ break;
/****
*NOT
*/
- case function_not :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("~");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_not*/
- break;
+ case function_not :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if(search_expression_type->is_binary_type(IN_type_symbol))
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("~");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_not*/
+ break;
/****
*SEL
*/
- case function_sel :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("G");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *G_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (G_param_value == NULL)
- G_param_value = function_call_param_iterator.next();
- symbol_c *G_type_symbol = search_expression_type->get_type(G_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(G_type_symbol, last_type_symbol) ? search_expression_type->common_type(G_type_symbol, last_type_symbol) : G_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- {
- identifier_c param_name("IN0");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN0_param_value == NULL)
- IN0_param_value = function_call_param_iterator.next();
- symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- G_param_value->accept(*this);
- s4o.print(" ? ");
- IN1_param_value->accept(*this);
- s4o.print(" : ");
- IN0_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_sel*/
- break;
+ case function_sel :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("G");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *G_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (G_param_value == NULL)
+ G_param_value = function_call_param_iterator.next();
+ symbol_c *G_type_symbol = search_expression_type->get_type(G_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(G_type_symbol, last_type_symbol) ? search_expression_type->common_type(G_type_symbol, last_type_symbol) : G_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN0");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN0_param_value == NULL)
+ IN0_param_value = function_call_param_iterator.next();
+ symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ G_param_value->accept(*this);
+ s4o.print(" ? ");
+ IN1_param_value->accept(*this);
+ s4o.print(" : ");
+ IN0_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sel*/
+ break;
/****
*MAX
*/
- case function_max :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("__max_");
- return_type_symbol->accept(*this);
- s4o.print("(");
- s4o.print_integer(nb_param);
- s4o.print(",");
- IN1_param_value->accept(*this);
- s4o.print(",");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print(",");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_max*/
- break;
+ case function_max :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("__max_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_max*/
+ break;
/****
*MIN
*/
- case function_min :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("__min_");
- return_type_symbol->accept(*this);
- s4o.print("(");
- s4o.print_integer(nb_param);
- s4o.print(",");
- IN1_param_value->accept(*this);
- s4o.print(",");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print(",");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_min*/
- break;
+ case function_min :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("__min_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_min*/
+ break;
/****
*LIMIT
*/
- case function_limit :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("MN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *MN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (MN_param_value == NULL)
- MN_param_value = function_call_param_iterator.next();
- symbol_c *MN_type_symbol = search_expression_type->get_type(MN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MN_type_symbol, last_type_symbol) ? search_expression_type->common_type(MN_type_symbol, last_type_symbol) : MN_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("MX");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *MX_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (MX_param_value == NULL)
- MX_param_value = function_call_param_iterator.next();
- symbol_c *MX_type_symbol = search_expression_type->get_type(MX_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("__limit_");
- IN_type_symbol->accept(*this);
- s4o.print("(");
- MN_param_value->accept(*this);
- s4o.print(", ");
- IN_param_value->accept(*this);
- s4o.print(", ");
- MX_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_limit*/
- break;
+ case function_limit :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("MN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *MN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (MN_param_value == NULL)
+ MN_param_value = function_call_param_iterator.next();
+ symbol_c *MN_type_symbol = search_expression_type->get_type(MN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MN_type_symbol, last_type_symbol) ? search_expression_type->common_type(MN_type_symbol, last_type_symbol) : MN_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("MX");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *MX_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (MX_param_value == NULL)
+ MX_param_value = function_call_param_iterator.next();
+ symbol_c *MX_type_symbol = search_expression_type->get_type(MX_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = IN_type_symbol;
+ s4o.print("__limit_");
+ IN_type_symbol->accept(*this);
+ s4o.print("(");
+ MN_param_value->accept(*this);
+ s4o.print(", ");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ MX_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_limit*/
+ break;
/****
*MUX
*/
- case function_mux :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("K");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *K_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (K_param_value == NULL)
- K_param_value = function_call_param_iterator.next();
- symbol_c *K_type_symbol = search_expression_type->get_type(K_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(K_type_symbol, last_type_symbol) ? search_expression_type->common_type(K_type_symbol, last_type_symbol) : K_type_symbol ;
-
- if(search_expression_type->is_integer_type(K_type_symbol))
- {
-
- {
- identifier_c param_name("IN0");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN0_param_value == NULL)
- IN0_param_value = function_call_param_iterator.next();
- symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("__mux_");
- return_type_symbol->accept(*this);
- s4o.print("(");
- s4o.print_integer(nb_param);
- s4o.print(",");
- K_param_value->accept(*this);
- s4o.print(",");
- IN0_param_value->accept(*this);
- s4o.print(",");
- IN1_param_value->accept(*this);
-
- int base_num = 2;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print(",");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_mux*/
- break;
+ case function_mux :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("K");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *K_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (K_param_value == NULL)
+ K_param_value = function_call_param_iterator.next();
+ symbol_c *K_type_symbol = search_expression_type->get_type(K_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(K_type_symbol, last_type_symbol) ? search_expression_type->common_type(K_type_symbol, last_type_symbol) : K_type_symbol ;
+
+ if(search_expression_type->is_integer_type(K_type_symbol))
+ {
+
+ {
+ identifier_c param_name("IN0");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN0_param_value == NULL)
+ IN0_param_value = function_call_param_iterator.next();
+ symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = last_type_symbol;
+ s4o.print("__mux_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ K_param_value->accept(*this);
+ s4o.print(",");
+ IN0_param_value->accept(*this);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+
+ int base_num = 2;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mux*/
+ break;
/****
*GT
*/
- case function_gt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("__gt_");
- return_type_symbol->accept(*this);
- s4o.print("(");
- s4o.print_integer(nb_param);
- s4o.print(",");
- IN1_param_value->accept(*this);
- s4o.print(",");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print(",");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_gt*/
- break;
+ case function_gt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__gt_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_gt*/
+ break;
/****
*GE
*/
- case function_ge :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("__ge_");
- return_type_symbol->accept(*this);
- s4o.print("(");
- s4o.print_integer(nb_param);
- s4o.print(",");
- IN1_param_value->accept(*this);
- s4o.print(",");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print(",");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_ge*/
- break;
+ case function_ge :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__ge_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ge*/
+ break;
/****
*EQ
*/
- case function_eq :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("__eq_");
- return_type_symbol->accept(*this);
- s4o.print("(");
- s4o.print_integer(nb_param);
- s4o.print(",");
- IN1_param_value->accept(*this);
- s4o.print(",");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print(",");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_eq*/
- break;
+ case function_eq :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__eq_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_eq*/
+ break;
/****
*LT
*/
- case function_lt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("__lt_");
- return_type_symbol->accept(*this);
- s4o.print("(");
- s4o.print_integer(nb_param);
- s4o.print(",");
- IN1_param_value->accept(*this);
- s4o.print(",");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print(",");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_lt*/
- break;
+ case function_lt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__lt_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lt*/
+ break;
/****
*LE
*/
- case function_le :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("__le_");
- return_type_symbol->accept(*this);
- s4o.print("(");
- s4o.print_integer(nb_param);
- s4o.print(",");
- IN1_param_value->accept(*this);
- s4o.print(",");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print(",");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_le*/
- break;
+ case function_le :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__le_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_le*/
+ break;
/****
*NE
*/
- case function_ne :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
-
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
-
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("__ne_");
- return_type_symbol->accept(*this);
- s4o.print("(");
- s4o.print_integer(nb_param);
- s4o.print(",");
- IN1_param_value->accept(*this);
- s4o.print(",");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print(",");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_ne*/
- break;
+ case function_ne :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("__ne_");
+ return_type_symbol->accept(*this);
+ s4o.print("(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ne*/
+ break;
/****
*LEN
*/
- case function_len :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("__len(&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_len*/
- break;
+ case function_len :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("__len(&");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_len*/
+ break;
/****
*LEFT
*/
- case function_left :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("L");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (L_param_value == NULL)
- L_param_value = function_call_param_iterator.next();
- symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__left(&");
- IN_param_value->accept(*this);
- s4o.print(", ");
- L_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_left*/
- break;
+ case function_left :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__left(&");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ L_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_left*/
+ break;
/****
*RIGHT
*/
- case function_right :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("L");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (L_param_value == NULL)
- L_param_value = function_call_param_iterator.next();
- symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__right(&");
- IN_param_value->accept(*this);
- s4o.print(", ");
- L_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_right*/
- break;
+ case function_right :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__right(&");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ L_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_right*/
+ break;
/****
*MID
*/
- case function_mid :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("L");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (L_param_value == NULL)
- L_param_value = function_call_param_iterator.next();
- symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- {
- identifier_c param_name("P");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (P_param_value == NULL)
- P_param_value = function_call_param_iterator.next();
- symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__mid(&");
- IN_param_value->accept(*this);
- s4o.print(", ");
- L_param_value->accept(*this);
- s4o.print(", ");
- P_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_mid*/
- break;
+ case function_mid :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__mid(&");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ L_param_value->accept(*this);
+ s4o.print(", ");
+ P_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_mid*/
+ break;
/****
*CONCAT
*/
- case function_concat :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("__time_add(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__concat(");
- s4o.print_integer(nb_param);
- s4o.print(",");
- IN1_param_value->accept(*this);
- s4o.print(",&");
- IN2_param_value->accept(*this);
-
- int base_num = 3;
- symbol_c *param_value = NULL;
- do{
- char my_name[10];
- sprintf(my_name, "IN%d", base_num++);
- identifier_c param_name(my_name);
-
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (param_value == NULL)
- param_value = function_call_param_iterator.next();
- if (param_value != NULL){
- symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
-
- /*Function specific CODE */
- s4o.print(",&");
- param_value->accept(*this);
-
- }
-
- }while(param_value != NULL);
- s4o.print(")");
- return NULL;
-
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_concat*/
- break;
+ case function_concat :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("__time_add(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__concat(");
+ s4o.print_integer(nb_param);
+ s4o.print(",");
+ IN1_param_value->accept(*this);
+ s4o.print(",&");
+ IN2_param_value->accept(*this);
+
+ int base_num = 3;
+ symbol_c *param_value = NULL;
+ do{
+ char my_name[10];
+ sprintf(my_name, "IN%d", base_num++);
+ identifier_c param_name(my_name);
+
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (param_value == NULL)
+ param_value = function_call_param_iterator.next();
+ if (param_value != NULL){
+ symbol_c *current_type_symbol = search_expression_type->get_type(param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
+
+ /*Function specific CODE */
+ s4o.print(",&");
+ param_value->accept(*this);
+
+ }
+
+ }while(param_value != NULL);
+ s4o.print(")");
+ return NULL;
+
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_concat*/
+ break;
/****
*INSERT
*/
- case function_insert :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("P");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (P_param_value == NULL)
- P_param_value = function_call_param_iterator.next();
- symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__insert(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(", ");
- P_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_insert*/
- break;
+ case function_insert :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__insert(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(", ");
+ P_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_insert*/
+ break;
/****
*DELETE
*/
- case function_delete :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("L");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (L_param_value == NULL)
- L_param_value = function_call_param_iterator.next();
- symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- {
- identifier_c param_name("P");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (P_param_value == NULL)
- P_param_value = function_call_param_iterator.next();
- symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__delete(&");
- IN_param_value->accept(*this);
- s4o.print(", ");
- L_param_value->accept(*this);
- s4o.print(", ");
- P_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_delete*/
- break;
+ case function_delete :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__delete(&");
+ IN_param_value->accept(*this);
+ s4o.print(", ");
+ L_param_value->accept(*this);
+ s4o.print(", ");
+ P_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_delete*/
+ break;
/****
*REPLACE
*/
- case function_replace :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("L");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (L_param_value == NULL)
- L_param_value = function_call_param_iterator.next();
- symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- {
- identifier_c param_name("P");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (P_param_value == NULL)
- P_param_value = function_call_param_iterator.next();
- symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__replace(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(", ");
- L_param_value->accept(*this);
- s4o.print(", ");
- P_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_replace*/
- break;
+ case function_replace :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("L");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *L_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (L_param_value == NULL)
+ L_param_value = function_call_param_iterator.next();
+ symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ {
+ identifier_c param_name("P");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *P_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (P_param_value == NULL)
+ P_param_value = function_call_param_iterator.next();
+ symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("__replace(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(", ");
+ L_param_value->accept(*this);
+ s4o.print(", ");
+ P_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_replace*/
+ break;
/****
*FIND
*/
- case function_find :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN1");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN1_param_value == NULL)
- IN1_param_value = function_call_param_iterator.next();
- symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- {
- identifier_c param_name("IN2");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN2_param_value == NULL)
- IN2_param_value = function_call_param_iterator.next();
- symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("__find(&");
- IN1_param_value->accept(*this);
- s4o.print(", &");
- IN2_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }
-
- ERROR;
- }
-
- }/*function_find*/
- break;
-
- case function_none :
- ERROR;
+ case function_find :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN1");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN1_param_value == NULL)
+ IN1_param_value = function_call_param_iterator.next();
+ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ {
+ identifier_c param_name("IN2");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN2_param_value == NULL)
+ IN2_param_value = function_call_param_iterator.next();
+ symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("__find(&");
+ IN1_param_value->accept(*this);
+ s4o.print(", &");
+ IN2_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_find*/
+ break;
+
+ case function_none :
+ ERROR;
}
return NULL;