diff -r 8998c8b24b60 -r b45c7f34dec1 stage4/generate_cc/st_code_gen.c --- a/stage4/generate_cc/st_code_gen.c Fri Jul 13 19:20:26 2007 +0200 +++ b/stage4/generate_cc/st_code_gen.c Tue Jul 17 12:19:59 2007 +0200 @@ -23,7 +23,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; @@ -59,7 +59,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; @@ -95,7 +95,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; @@ -131,7 +131,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; @@ -167,7 +167,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; @@ -203,7 +203,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; @@ -239,7 +239,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; @@ -275,7 +275,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; @@ -311,7 +311,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; @@ -347,7 +347,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; @@ -383,7 +383,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -420,7 +420,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -457,7 +457,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -494,7 +494,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -531,7 +531,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; @@ -568,7 +568,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; @@ -604,7 +604,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; @@ -640,7 +640,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -676,7 +676,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; @@ -712,7 +712,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; @@ -748,7 +748,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; @@ -784,7 +784,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; @@ -820,7 +820,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; @@ -856,7 +856,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; @@ -892,7 +892,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; @@ -928,7 +928,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; @@ -964,7 +964,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; @@ -1000,7 +1000,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; @@ -1036,7 +1036,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; @@ -1072,7 +1072,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -1109,7 +1109,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -1146,7 +1146,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -1183,7 +1183,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -1220,7 +1220,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; @@ -1257,7 +1257,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; @@ -1293,7 +1293,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; @@ -1329,7 +1329,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -1365,7 +1365,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; @@ -1401,7 +1401,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; @@ -1437,7 +1437,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; @@ -1473,7 +1473,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; @@ -1509,7 +1509,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; @@ -1545,7 +1545,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; @@ -1581,7 +1581,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; @@ -1617,7 +1617,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; @@ -1653,7 +1653,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; @@ -1689,7 +1689,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; @@ -1725,7 +1725,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; @@ -1761,7 +1761,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -1798,7 +1798,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -1835,7 +1835,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -1872,7 +1872,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -1909,7 +1909,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; @@ -1946,7 +1946,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; @@ -1982,7 +1982,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; @@ -2018,7 +2018,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -2054,7 +2054,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; @@ -2090,7 +2090,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; @@ -2126,7 +2126,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; @@ -2162,7 +2162,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; @@ -2198,7 +2198,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; @@ -2234,7 +2234,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; @@ -2270,7 +2270,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; @@ -2306,7 +2306,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; @@ -2342,7 +2342,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; @@ -2378,7 +2378,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; @@ -2414,7 +2414,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; @@ -2450,7 +2450,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -2487,7 +2487,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -2524,7 +2524,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -2561,7 +2561,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -2598,7 +2598,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; @@ -2635,7 +2635,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; @@ -2671,7 +2671,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; @@ -2707,7 +2707,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -2743,7 +2743,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; @@ -2779,7 +2779,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; @@ -2815,7 +2815,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; @@ -2851,7 +2851,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; @@ -2887,7 +2887,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; @@ -2923,7 +2923,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; @@ -2959,7 +2959,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; @@ -2995,7 +2995,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; @@ -3031,7 +3031,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; @@ -3067,7 +3067,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; @@ -3103,7 +3103,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; @@ -3139,7 +3139,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -3176,7 +3176,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -3213,7 +3213,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -3250,7 +3250,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -3287,7 +3287,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; @@ -3324,7 +3324,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; @@ -3360,7 +3360,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; @@ -3396,7 +3396,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -3432,7 +3432,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; @@ -3468,7 +3468,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; @@ -3504,7 +3504,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; @@ -3540,7 +3540,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; @@ -3576,7 +3576,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; @@ -3612,7 +3612,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; @@ -3648,7 +3648,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; @@ -3684,7 +3684,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; @@ -3720,7 +3720,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; @@ -3756,7 +3756,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; @@ -3792,7 +3792,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; @@ -3828,7 +3828,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -3865,7 +3865,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -3902,7 +3902,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -3939,7 +3939,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -3976,7 +3976,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; @@ -4013,7 +4013,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; @@ -4049,7 +4049,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; @@ -4085,7 +4085,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -4121,7 +4121,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; @@ -4157,7 +4157,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; @@ -4193,7 +4193,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; @@ -4229,7 +4229,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; @@ -4265,7 +4265,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; @@ -4301,7 +4301,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; @@ -4337,7 +4337,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; @@ -4373,7 +4373,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; @@ -4409,7 +4409,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; @@ -4445,7 +4445,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; @@ -4481,7 +4481,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; @@ -4517,7 +4517,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -4554,7 +4554,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -4591,7 +4591,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -4628,7 +4628,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -4665,7 +4665,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; @@ -4702,7 +4702,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; @@ -4738,7 +4738,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; @@ -4774,7 +4774,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -4810,7 +4810,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; @@ -4846,7 +4846,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; @@ -4882,7 +4882,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; @@ -4918,7 +4918,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; @@ -4954,7 +4954,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; @@ -4990,7 +4990,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; @@ -5026,7 +5026,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; @@ -5062,7 +5062,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; @@ -5098,7 +5098,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; @@ -5134,7 +5134,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; @@ -5170,7 +5170,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; @@ -5206,7 +5206,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -5243,7 +5243,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -5280,7 +5280,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -5317,7 +5317,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -5354,7 +5354,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; @@ -5391,7 +5391,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; @@ -5427,7 +5427,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; @@ -5463,7 +5463,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -5499,7 +5499,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; @@ -5535,7 +5535,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; @@ -5571,7 +5571,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; @@ -5607,7 +5607,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; @@ -5643,7 +5643,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; @@ -5679,7 +5679,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; @@ -5715,7 +5715,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; @@ -5751,7 +5751,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; @@ -5787,7 +5787,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; @@ -5823,7 +5823,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; @@ -5859,7 +5859,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; @@ -5895,7 +5895,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -5932,7 +5932,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -5969,7 +5969,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -6006,7 +6006,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -6043,7 +6043,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; @@ -6080,7 +6080,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; @@ -6116,7 +6116,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; @@ -6152,7 +6152,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -6188,7 +6188,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; @@ -6224,7 +6224,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; @@ -6260,7 +6260,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; @@ -6296,7 +6296,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; @@ -6332,7 +6332,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; @@ -6368,7 +6368,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; @@ -6404,7 +6404,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; @@ -6440,7 +6440,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; @@ -6476,7 +6476,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; @@ -6512,7 +6512,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; @@ -6548,7 +6548,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; @@ -6584,7 +6584,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -6621,7 +6621,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -6658,7 +6658,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -6695,7 +6695,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -6732,7 +6732,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; @@ -6769,7 +6769,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; @@ -6805,7 +6805,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; @@ -6841,7 +6841,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -6877,7 +6877,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; @@ -6913,7 +6913,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; @@ -6949,7 +6949,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; @@ -6985,7 +6985,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; @@ -7021,7 +7021,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; @@ -7057,7 +7057,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; @@ -7093,7 +7093,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; @@ -7129,7 +7129,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; @@ -7165,7 +7165,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; @@ -7201,7 +7201,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; @@ -7237,7 +7237,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; @@ -7273,7 +7273,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -7310,7 +7310,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -7347,7 +7347,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -7384,7 +7384,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -7421,7 +7421,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; @@ -7458,7 +7458,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; @@ -7494,7 +7494,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; @@ -7530,7 +7530,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -7566,7 +7566,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; @@ -7585,5784 +7585,5636 @@ 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + *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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_time_to_ulint*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + 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_STRING + */ + case function_time_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + 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_BYTE + */ + case function_time_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_time_to_lword*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_date_to_ulint*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + 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_STRING + */ + case function_date_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__date_to_string("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_date_to_string*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_date_to_lword*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_tod_to_ulint*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + 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_STRING + */ + case function_tod_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__tod_to_string("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_tod_to_string*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_tod_to_lword*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_dt_to_ulint*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + 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_STRING + */ + case function_dt_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__dt_to_string("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_dt_to_string*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__time_to_int("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_dt_to_lword*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_time_to_bool*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__string_to_bool("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_string_to_bool*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__string_to_sint("); + IN_param_value->accept(*this); + s4o.print(")"); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__string_to_sint("); + IN_param_value->accept(*this); + s4o.print(")"); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__string_to_sint("); + IN_param_value->accept(*this); + s4o.print(")"); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__string_to_sint("); + IN_param_value->accept(*this); + s4o.print(")"); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__string_to_uint("); + IN_param_value->accept(*this); + s4o.print(")"); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__string_to_uint("); + IN_param_value->accept(*this); + s4o.print(")"); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__string_to_uint("); + IN_param_value->accept(*this); + s4o.print(")"); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_time_to_ulint*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__string_to_uint("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_string_to_ulint*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__string_to_real("); + IN_param_value->accept(*this); + s4o.print(")"); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { 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_STRING - */ - case function_time_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__string_to_real("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_string_to_lreal*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + 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_DATE + */ + case function_string_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + 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; + +/**** + *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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__string_to_bit("); + IN_param_value->accept(*this); + s4o.print(")"); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__string_to_bit("); + IN_param_value->accept(*this); + s4o.print(")"); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__string_to_bit("); + IN_param_value->accept(*this); + s4o.print(")"); + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__string_to_bit("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_string_to_lword*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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_SINT + */ + case function_byte_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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_REAL + */ + case function_byte_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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_TIME + */ + case function_byte_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_to_time("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_byte_to_time*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_to_time("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_byte_to_dt*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) { 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_BYTE - */ - case function_time_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__bit_to_string("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_byte_to_string*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) + { + + 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; + +/**** + *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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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_SINT + */ + case function_word_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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_REAL + */ + case function_word_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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_TIME + */ + case function_word_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_to_time("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_word_to_time*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_to_time("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_word_to_dt*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__bit_to_string("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_word_to_string*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + 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; + +/**** + *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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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_SINT + */ + case function_dword_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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_REAL + */ + case function_dword_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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_TIME + */ + case function_dword_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + identifier_c param_name("IN"); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_to_time("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_dword_to_time*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_to_time("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_dword_to_dt*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__bit_to_string("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_dword_to_string*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_time_to_lword*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")"); + IN_param_value->accept(*this); + return NULL; + + } + + ERROR; + } + + }/*function_dword_to_lword*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_date_to_bool*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")"); + IN_param_value->accept(*this); + return NULL; + + } + + ERROR; + } + + }/*function_lword_to_bool*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_date_to_ulint*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")"); + IN_param_value->accept(*this); + return NULL; + + } + + ERROR; + } + + }/*function_lword_to_ulint*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { 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_STRING - */ - case function_date_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")"); + IN_param_value->accept(*this); + return NULL; + + } + + ERROR; + } + + }/*function_lword_to_lreal*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_to_time("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_lword_to_time*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + s4o.print("("); + return_type_symbol->accept(*this); + s4o.print(")__int_to_time("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_lword_to_dt*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__date_to_string("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_date_to_string*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + s4o.print(")__bit_to_string("); + IN_param_value->accept(*this); + s4o.print(")"); + return NULL; + + } + + ERROR; + } + + }/*function_lword_to_string*/ + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + 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( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next(); + symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && search_expression_type->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_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; s4o.print("("); return_type_symbol->accept(*this); - s4o.print(")__time_to_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_date_to_lword*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_tod_to_bool*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_tod_to_ulint*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_STRING - */ - case function_tod_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__tod_to_string("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_tod_to_string*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_tod_to_lword*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_dt_to_bool*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_dt_to_ulint*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_STRING - */ - case function_dt_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__dt_to_string("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_dt_to_string*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_int("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_dt_to_lword*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_bool("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_string_to_bool*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_sint("); - IN_param_value->accept(*this); - s4o.print(")"); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_sint("); - IN_param_value->accept(*this); - s4o.print(")"); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_sint("); - IN_param_value->accept(*this); - s4o.print(")"); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_sint("); - IN_param_value->accept(*this); - s4o.print(")"); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_uint("); - IN_param_value->accept(*this); - s4o.print(")"); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_uint("); - IN_param_value->accept(*this); - s4o.print(")"); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_uint("); - IN_param_value->accept(*this); - s4o.print(")"); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_uint("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_string_to_ulint*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_real("); - IN_param_value->accept(*this); - s4o.print(")"); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_real("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_string_to_lreal*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_DATE - */ - case function_string_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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; - -/**** - *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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_bit("); - IN_param_value->accept(*this); - s4o.print(")"); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_bit("); - IN_param_value->accept(*this); - s4o.print(")"); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_bit("); - IN_param_value->accept(*this); - s4o.print(")"); - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_bit("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_string_to_lword*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_SINT - */ - case function_byte_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_REAL - */ - case function_byte_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_TIME - */ - case function_byte_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_to_time("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_byte_to_time*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_to_time("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_byte_to_dt*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__bit_to_string("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_byte_to_string*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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; - -/**** - *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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_SINT - */ - case function_word_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_REAL - */ - case function_word_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_TIME - */ - case function_word_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_to_time("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_word_to_time*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_to_time("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_word_to_dt*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__bit_to_string("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_word_to_string*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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; - -/**** - *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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_SINT - */ - case function_dword_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_REAL - */ - case function_dword_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_TIME - */ - case function_dword_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_to_time("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_dword_to_time*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_to_time("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_dword_to_dt*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__bit_to_string("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_dword_to_string*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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; - -/**** - *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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_SINT - */ - case function_lword_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_REAL - */ - case function_lword_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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_TIME - */ - case function_lword_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - identifier_c param_name("IN"); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_to_time("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_lword_to_time*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__int_to_time("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_lword_to_dt*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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(")__bit_to_string("); - IN_param_value->accept(*this); - s4o.print(")"); - return NULL; - - } - - ERROR; - } - - }/*function_lword_to_string*/ - 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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next(); - symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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; @@ -13393,7 +13245,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; @@ -13463,7 +13315,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; @@ -13500,7 +13352,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; @@ -13537,7 +13389,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; @@ -13574,7 +13426,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; @@ -13611,7 +13463,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; @@ -13648,7 +13500,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; @@ -13685,7 +13537,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; @@ -13722,7 +13574,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; @@ -13759,7 +13611,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -13794,7 +13646,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; @@ -14234,9 +14086,10 @@ { symbol_c * return_type_symbol = last_type_symbol; - s4o.print("("); + s4o.indent_right(); + s4o.print("(\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print("+"); + s4o.print("+\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -14257,13 +14110,14 @@ 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("+"); + s4o.print("+\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -14274,7 +14128,7 @@ } - if (typeid(*last_type_symbol) == typeid(dt_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { @@ -14288,7 +14142,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -14306,7 +14160,7 @@ } - if (typeid(*last_type_symbol) == typeid(tod_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { @@ -14320,7 +14174,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -14338,7 +14192,7 @@ } - if (typeid(*last_type_symbol) == typeid(time_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -14352,7 +14206,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -14412,9 +14266,10 @@ { symbol_c * return_type_symbol = last_type_symbol; - s4o.print("("); + s4o.indent_right(); + s4o.print("(\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print("*"); + s4o.print("*\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -14435,13 +14290,14 @@ 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("*"); + s4o.print("*\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -14452,7 +14308,7 @@ } - if (typeid(*last_type_symbol) == typeid(time_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -14526,11 +14382,13 @@ { symbol_c * return_type_symbol = last_type_symbol; - s4o.print("("); + s4o.indent_right(); + s4o.print("(\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print("-"); + s4o.print("-\n" + s4o.indent_spaces); IN2_param_value->accept(*this); s4o.print(")"); + s4o.indent_left(); return NULL; } @@ -14540,7 +14398,7 @@ } - if (typeid(*last_type_symbol) == typeid(date_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { { @@ -14554,7 +14412,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -14572,7 +14430,7 @@ } - if (typeid(*last_type_symbol) == typeid(dt_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { @@ -14586,7 +14444,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -14599,7 +14457,7 @@ } - if (typeid(*last_type_symbol) == typeid(time_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -14617,7 +14475,7 @@ } - if (typeid(*last_type_symbol) == typeid(tod_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { @@ -14631,7 +14489,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -14644,7 +14502,7 @@ } - if (typeid(*last_type_symbol) == typeid(time_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; @@ -14662,7 +14520,7 @@ } - if (typeid(*last_type_symbol) == typeid(time_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -14676,7 +14534,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -14736,11 +14594,13 @@ { symbol_c * return_type_symbol = last_type_symbol; - s4o.print("("); + s4o.indent_right(); + s4o.print("(\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print("/"); + s4o.print("/\n" + s4o.indent_spaces); IN2_param_value->accept(*this); s4o.print(")"); + s4o.indent_left(); return NULL; } @@ -14750,7 +14610,7 @@ } - if (typeid(*last_type_symbol) == typeid(time_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -14824,11 +14684,13 @@ { symbol_c * return_type_symbol = last_type_symbol; - s4o.print("("); + s4o.indent_right(); + s4o.print("(\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print("%"); + s4o.print("%\n" + s4o.indent_spaces); IN2_param_value->accept(*this); s4o.print(")"); + s4o.indent_left(); return NULL; } @@ -15193,11 +15055,12 @@ { symbol_c * return_type_symbol = last_type_symbol; + s4o.indent_right(); s4o.print("("); if (search_expression_type->is_bool_type(last_type_symbol)) - s4o.print("("); + s4o.print("(\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print("&"); + s4o.print("&\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -15218,7 +15081,7 @@ 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("&"); + s4o.print("&\n" + s4o.indent_spaces); param_value->accept(*this); } @@ -15230,6 +15093,7 @@ s4o.print(")"); } s4o.print(""); + s4o.indent_left(); return NULL; @@ -15282,11 +15146,12 @@ { symbol_c * return_type_symbol = last_type_symbol; + s4o.indent_right(); s4o.print("("); if (search_expression_type->is_bool_type(last_type_symbol)) - s4o.print("("); + s4o.print("(\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print("|"); + s4o.print("|\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -15307,7 +15172,7 @@ 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("|"); + s4o.print("|\n" + s4o.indent_spaces); param_value->accept(*this); } @@ -15319,6 +15184,7 @@ s4o.print(")"); } s4o.print(""); + s4o.indent_left(); return NULL; @@ -15371,11 +15237,12 @@ { symbol_c * return_type_symbol = last_type_symbol; + s4o.indent_right(); s4o.print("("); if (search_expression_type->is_bool_type(last_type_symbol)) - s4o.print("("); + s4o.print("(\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print("^"); + s4o.print("^\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -15396,7 +15263,7 @@ 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("^"); + s4o.print("^\n" + s4o.indent_spaces); param_value->accept(*this); } @@ -15408,6 +15275,7 @@ s4o.print(")"); } s4o.print(""); + s4o.indent_left(); return NULL; @@ -15476,7 +15344,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) { { @@ -15569,13 +15437,14 @@ { symbol_c * return_type_symbol = last_type_symbol; + s4o.indent_right(); s4o.print("__max_"); return_type_symbol->accept(*this); s4o.print("("); s4o.print_integer(nb_param); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -15596,13 +15465,14 @@ 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(","); + s4o.print(",\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -15655,13 +15525,14 @@ { symbol_c * return_type_symbol = last_type_symbol; + s4o.indent_right(); s4o.print("__min_"); return_type_symbol->accept(*this); s4o.print("("); s4o.print_integer(nb_param); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -15682,13 +15553,14 @@ 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(","); + s4o.print(",\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -15834,15 +15706,16 @@ { symbol_c * return_type_symbol = last_type_symbol; + s4o.indent_right(); s4o.print("__mux_"); return_type_symbol->accept(*this); s4o.print("("); s4o.print_integer(nb_param); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); K_param_value->accept(*this); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN0_param_value->accept(*this); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN1_param_value->accept(*this); int base_num = 2; @@ -15863,13 +15736,14 @@ 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(","); + s4o.print(",\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -15927,13 +15801,14 @@ { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + s4o.indent_right(); s4o.print("__gt_"); return_type_symbol->accept(*this); s4o.print("("); s4o.print_integer(nb_param); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -15954,13 +15829,14 @@ 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(","); + s4o.print(",\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -16013,13 +15889,14 @@ { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + s4o.indent_right(); s4o.print("__ge_"); return_type_symbol->accept(*this); s4o.print("("); s4o.print_integer(nb_param); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -16040,13 +15917,14 @@ 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(","); + s4o.print(",\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -16099,13 +15977,14 @@ { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + s4o.indent_right(); s4o.print("__eq_"); return_type_symbol->accept(*this); s4o.print("("); s4o.print_integer(nb_param); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -16126,13 +16005,14 @@ 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(","); + s4o.print(",\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -16185,13 +16065,14 @@ { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + s4o.indent_right(); s4o.print("__lt_"); return_type_symbol->accept(*this); s4o.print("("); s4o.print_integer(nb_param); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -16212,13 +16093,14 @@ 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(","); + s4o.print(",\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -16271,13 +16153,14 @@ { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + s4o.indent_right(); s4o.print("__le_"); return_type_symbol->accept(*this); s4o.print("("); s4o.print_integer(nb_param); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -16298,13 +16181,14 @@ 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(","); + s4o.print(",\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -16357,13 +16241,14 @@ { symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + s4o.indent_right(); s4o.print("__ne_"); return_type_symbol->accept(*this); s4o.print("("); s4o.print_integer(nb_param); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -16384,13 +16269,14 @@ 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(","); + s4o.print(",\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -16425,7 +16311,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; @@ -16460,7 +16346,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { @@ -16516,7 +16402,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { @@ -16572,7 +16458,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { @@ -16649,7 +16535,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { { @@ -16663,7 +16549,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; @@ -16681,7 +16567,7 @@ } - if (typeid(*last_type_symbol) == typeid(string_type_name_c)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { @@ -16695,15 +16581,16 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + s4o.indent_right(); s4o.print("__concat("); s4o.print_integer(nb_param); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN1_param_value->accept(*this); - s4o.print(","); + s4o.print(",\n" + s4o.indent_spaces); IN2_param_value->accept(*this); int base_num = 3; @@ -16724,13 +16611,14 @@ 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(","); + s4o.print(",\n" + s4o.indent_spaces); param_value->accept(*this); } }while(param_value != NULL); s4o.print(")"); + s4o.indent_left(); return NULL; @@ -16765,7 +16653,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { @@ -16779,7 +16667,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { @@ -16842,7 +16730,7 @@ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { @@ -16919,7 +16807,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { @@ -16933,7 +16821,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { @@ -17017,7 +16905,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { { @@ -17031,7 +16919,7 @@ 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)) + if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;