# HG changeset patch # User laurent # Date 1307370521 -7200 # Node ID 41d4ac0b4821d8f7ea58109f23b9f1a81b50dceb # Parent 90c3772e6547bf39455d0ca3d93dc18f0f9fb0aa Fixing REAL_TO_INT conversion (behaved like a trunc and not like a round) diff -r 90c3772e6547 -r 41d4ac0b4821 absyntax_utils/function_type_decl.h --- a/absyntax_utils/function_type_decl.h Mon Jun 06 14:05:28 2011 +0100 +++ b/absyntax_utils/function_type_decl.h Mon Jun 06 16:28:41 2011 +0200 @@ -412,22 +412,22 @@ function_acos, function_atan, function_add, + function_mul, + function_sub, + function_div, + function_mod, + function_expt, + function_move, function_add_time, function_add_tod_time, function_add_dt_time, - function_mul, function_multime, - function_sub, function_sub_time, function_sub_date_date, function_sub_tod_time, function_sub_tod_tod, function_sub_dt_time, - function_div, function_divtime, - function_mod, - function_expt, - function_move, function_shl, function_shr, function_ror, diff -r 90c3772e6547 -r 41d4ac0b4821 absyntax_utils/get_function_type_decl.c --- a/absyntax_utils/get_function_type_decl.c Mon Jun 06 14:05:28 2011 +0100 +++ b/absyntax_utils/get_function_type_decl.c Mon Jun 06 16:28:41 2011 +0200 @@ -1187,6 +1187,24 @@ if (!strcasecmp(function_name->value, "ADD")) return function_add; +if (!strcasecmp(function_name->value, "MUL")) + return function_mul; + +if (!strcasecmp(function_name->value, "SUB")) + return function_sub; + +if (!strcasecmp(function_name->value, "DIV")) + return function_div; + +if (!strcasecmp(function_name->value, "MOD")) + return function_mod; + +if (!strcasecmp(function_name->value, "EXPT")) + return function_expt; + +if (!strcasecmp(function_name->value, "MOVE")) + return function_move; + if (!strcasecmp(function_name->value, "ADD_TIME")) return function_add_time; @@ -1196,15 +1214,9 @@ if (!strcasecmp(function_name->value, "ADD_DT_TIME")) return function_add_dt_time; -if (!strcasecmp(function_name->value, "MUL")) - return function_mul; - if (!strcasecmp(function_name->value, "MULTIME")) return function_multime; -if (!strcasecmp(function_name->value, "SUB")) - return function_sub; - if (!strcasecmp(function_name->value, "SUB_TIME")) return function_sub_time; @@ -1220,21 +1232,9 @@ if (!strcasecmp(function_name->value, "SUB_DT_TIME")) return function_sub_dt_time; -if (!strcasecmp(function_name->value, "DIV")) - return function_div; - if (!strcasecmp(function_name->value, "DIVTIME")) return function_divtime; -if (!strcasecmp(function_name->value, "MOD")) - return function_mod; - -if (!strcasecmp(function_name->value, "EXPT")) - return function_expt; - -if (!strcasecmp(function_name->value, "MOVE")) - return function_move; - if (!strcasecmp(function_name->value, "SHL")) return function_shl; diff -r 90c3772e6547 -r 41d4ac0b4821 absyntax_utils/search_type_code.c --- a/absyntax_utils/search_type_code.c Mon Jun 06 14:05:28 2011 +0100 +++ b/absyntax_utils/search_type_code.c Mon Jun 06 16:28:41 2011 +0200 @@ -14092,9 +14092,9 @@ break; /**** - *ADD_TIME - */ - case function_add_time : + *MUL + */ + case function_mul : { symbol_c *last_type_symbol = NULL; @@ -14112,7 +14112,7 @@ last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { @@ -14129,10 +14129,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + symbol_c * return_type_symbol = last_type_symbol; return return_type_symbol; } @@ -14143,35 +14143,7 @@ } - - ERROR; - } - - }/*function_add_time*/ - break; - -/**** - *ADD_TOD_TIME - */ - case function_add_tod_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -14188,10 +14160,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } @@ -14206,13 +14178,13 @@ ERROR; } - }/*function_add_tod_time*/ - break; - -/**** - *ADD_DT_TIME - */ - case function_add_dt_time : + }/*function_mul*/ + break; + +/**** + *SUB + */ + case function_sub : { symbol_c *last_type_symbol = NULL; @@ -14230,7 +14202,7 @@ last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { @@ -14247,10 +14219,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + symbol_c * return_type_symbol = last_type_symbol; return return_type_symbol; } @@ -14261,35 +14233,7 @@ } - - ERROR; - } - - }/*function_add_dt_time*/ - break; - -/**** - *MUL - */ - case function_mul : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { { @@ -14306,10 +14250,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { - symbol_c * return_type_symbol = last_type_symbol; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } @@ -14320,7 +14264,7 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { @@ -14337,7 +14281,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || 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; @@ -14345,41 +14289,21 @@ } + if(IN2_type_symbol == NULL || 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; + return return_type_symbol; + + } + ERROR; } } - - ERROR; - } - - }/*function_mul*/ - break; - -/**** - *MULTIME - */ - case function_multime : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { @@ -14396,7 +14320,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || 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; @@ -14404,41 +14328,21 @@ } + if(IN2_type_symbol == NULL || 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; + return return_type_symbol; + + } + ERROR; } } - - ERROR; - } - - }/*function_multime*/ - break; - -/**** - *SUB - */ - case function_sub : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -14455,10 +14359,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { - symbol_c * return_type_symbol = last_type_symbol; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } @@ -14469,7 +14373,35 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_sub*/ + break; + +/**** + *DIV + */ + case function_div : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { @@ -14486,10 +14418,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + symbol_c * return_type_symbol = last_type_symbol; return return_type_symbol; } @@ -14500,7 +14432,7 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -14517,7 +14449,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -14525,21 +14457,41 @@ } - if(IN2_type_symbol == NULL || 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; - return return_type_symbol; - - } - ERROR; } } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_div*/ + break; + +/**** + *MOD + */ + case function_mod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { @@ -14556,29 +14508,49 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + symbol_c * return_type_symbol = last_type_symbol; return return_type_symbol; } - if(IN2_type_symbol == NULL || 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; - return return_type_symbol; - - } - ERROR; } } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_mod*/ + break; + +/**** + *EXPT + */ + case function_expt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol)) { { @@ -14595,10 +14567,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + symbol_c * return_type_symbol = last_type_symbol; return return_type_symbol; } @@ -14613,13 +14585,49 @@ ERROR; } - }/*function_sub*/ - break; - -/**** - *SUB_TIME - */ - case function_sub_time : + }/*function_expt*/ + break; + +/**** + *MOVE + */ + case function_move : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + + { + + symbol_c * return_type_symbol = last_type_symbol; + return return_type_symbol; + + } + + + ERROR; + } + + }/*function_move*/ + break; + +/**** + *ADD_TIME + */ + case function_add_time : { symbol_c *last_type_symbol = NULL; @@ -14672,13 +14680,13 @@ ERROR; } - }/*function_sub_time*/ - break; - -/**** - *SUB_DATE_DATE - */ - case function_sub_date_date : + }/*function_add_time*/ + break; + +/**** + *ADD_TOD_TIME + */ + case function_add_tod_time : { symbol_c *last_type_symbol = NULL; @@ -14696,7 +14704,7 @@ last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { @@ -14713,10 +14721,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || 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; + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; return return_type_symbol; } @@ -14731,13 +14739,13 @@ ERROR; } - }/*function_sub_date_date*/ - break; - -/**** - *SUB_TOD_TIME - */ - case function_sub_tod_time : + }/*function_add_tod_time*/ + break; + +/**** + *ADD_DT_TIME + */ + case function_add_dt_time : { symbol_c *last_type_symbol = NULL; @@ -14755,7 +14763,7 @@ last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { @@ -14775,7 +14783,7 @@ if(IN2_type_symbol == NULL || 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; + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; return return_type_symbol; } @@ -14790,13 +14798,13 @@ ERROR; } - }/*function_sub_tod_time*/ - break; - -/**** - *SUB_TOD_TOD - */ - case function_sub_tod_tod : + }/*function_add_dt_time*/ + break; + +/**** + *MULTIME + */ + case function_multime : { symbol_c *last_type_symbol = NULL; @@ -14814,7 +14822,7 @@ last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -14831,7 +14839,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -14849,13 +14857,13 @@ ERROR; } - }/*function_sub_tod_tod*/ - break; - -/**** - *SUB_DT_TIME - */ - case function_sub_dt_time : + }/*function_multime*/ + break; + +/**** + *SUB_TIME + */ + case function_sub_time : { symbol_c *last_type_symbol = NULL; @@ -14873,7 +14881,7 @@ last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -14890,7 +14898,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || 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; @@ -14898,14 +14906,6 @@ } - if(IN2_type_symbol == NULL || 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; - return return_type_symbol; - - } - ERROR; } @@ -14916,13 +14916,13 @@ ERROR; } - }/*function_sub_dt_time*/ - break; - -/**** - *DIV - */ - case function_div : + }/*function_sub_time*/ + break; + +/**** + *SUB_DATE_DATE + */ + case function_sub_date_date : { symbol_c *last_type_symbol = NULL; @@ -14940,7 +14940,7 @@ last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { { @@ -14957,10 +14957,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { - symbol_c * return_type_symbol = last_type_symbol; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } @@ -14971,7 +14971,35 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_sub_date_date*/ + break; + +/**** + *SUB_TOD_TIME + */ + case function_sub_tod_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { @@ -14988,10 +15016,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || 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; + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; return return_type_symbol; } @@ -15006,13 +15034,13 @@ ERROR; } - }/*function_div*/ - break; - -/**** - *DIVTIME - */ - case function_divtime : + }/*function_sub_tod_time*/ + break; + +/**** + *SUB_TOD_TOD + */ + case function_sub_tod_tod : { symbol_c *last_type_symbol = NULL; @@ -15030,7 +15058,7 @@ last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { @@ -15047,7 +15075,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || 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; @@ -15065,13 +15093,13 @@ ERROR; } - }/*function_divtime*/ - break; - -/**** - *MOD - */ - case function_mod : + }/*function_sub_tod_tod*/ + break; + +/**** + *SUB_DT_TIME + */ + case function_sub_dt_time : { symbol_c *last_type_symbol = NULL; @@ -15089,7 +15117,7 @@ last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { @@ -15106,14 +15134,22 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { - symbol_c * return_type_symbol = last_type_symbol; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } + if(IN2_type_symbol == NULL || 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; + return return_type_symbol; + + } + ERROR; } @@ -15124,13 +15160,13 @@ ERROR; } - }/*function_mod*/ - break; - -/**** - *EXPT - */ - case function_expt : + }/*function_sub_dt_time*/ + break; + +/**** + *DIVTIME + */ + case function_divtime : { symbol_c *last_type_symbol = NULL; @@ -15148,7 +15184,7 @@ last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -15168,7 +15204,7 @@ if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = last_type_symbol; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } @@ -15183,43 +15219,7 @@ ERROR; } - }/*function_expt*/ - break; - -/**** - *MOVE - */ - case function_move : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - - { - - symbol_c * return_type_symbol = last_type_symbol; - return return_type_symbol; - - } - - - ERROR; - } - - }/*function_move*/ + }/*function_divtime*/ break; /**** @@ -27264,9 +27264,9 @@ break; /**** - *ADD_TIME - */ - case function_add_time : + *MUL + */ + case function_mul : { symbol_c *last_type_symbol = NULL; @@ -27274,7 +27274,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { @@ -27291,10 +27291,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + symbol_c * return_type_symbol = last_type_symbol; return return_type_symbol; } @@ -27305,25 +27305,7 @@ } - - ERROR; - } - - }/*function_add_time*/ - break; - -/**** - *ADD_TOD_TIME - */ - case function_add_tod_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -27340,10 +27322,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } @@ -27358,13 +27340,13 @@ ERROR; } - }/*function_add_tod_time*/ - break; - -/**** - *ADD_DT_TIME - */ - case function_add_dt_time : + }/*function_mul*/ + break; + +/**** + *SUB + */ + case function_sub : { symbol_c *last_type_symbol = NULL; @@ -27372,7 +27354,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { @@ -27389,10 +27371,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + symbol_c * return_type_symbol = last_type_symbol; return return_type_symbol; } @@ -27403,25 +27385,7 @@ } - - ERROR; - } - - }/*function_add_dt_time*/ - break; - -/**** - *MUL - */ - case function_mul : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { { @@ -27438,10 +27402,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { - symbol_c * return_type_symbol = last_type_symbol; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } @@ -27452,7 +27416,7 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { @@ -27469,7 +27433,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || 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; @@ -27477,31 +27441,21 @@ } + if(IN2_type_symbol == NULL || 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; + return return_type_symbol; + + } + ERROR; } } - - ERROR; - } - - }/*function_mul*/ - break; - -/**** - *MULTIME - */ - case function_multime : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { @@ -27518,7 +27472,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || 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; @@ -27526,31 +27480,21 @@ } + if(IN2_type_symbol == NULL || 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; + return return_type_symbol; + + } + ERROR; } } - - ERROR; - } - - }/*function_multime*/ - break; - -/**** - *SUB - */ - case function_sub : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -27567,10 +27511,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { - symbol_c * return_type_symbol = last_type_symbol; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } @@ -27581,7 +27525,25 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_sub*/ + break; + +/**** + *DIV + */ + case function_div : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_type_symbol = param_data_type; + last_type_symbol = param_data_type; + + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { @@ -27598,10 +27560,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + symbol_c * return_type_symbol = last_type_symbol; return return_type_symbol; } @@ -27612,7 +27574,7 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -27629,7 +27591,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -27637,21 +27599,31 @@ } - if(IN2_type_symbol == NULL || 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; - return return_type_symbol; - - } - ERROR; } } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_div*/ + break; + +/**** + *MOD + */ + case function_mod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_type_symbol = param_data_type; + last_type_symbol = param_data_type; + + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { @@ -27668,29 +27640,39 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + symbol_c * return_type_symbol = last_type_symbol; return return_type_symbol; } - if(IN2_type_symbol == NULL || 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; - return return_type_symbol; - - } - ERROR; } } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_mod*/ + break; + +/**** + *EXPT + */ + case function_expt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_type_symbol = param_data_type; + last_type_symbol = param_data_type; + + if(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol)) { { @@ -27707,10 +27689,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + symbol_c * return_type_symbol = last_type_symbol; return return_type_symbol; } @@ -27725,13 +27707,39 @@ ERROR; } - }/*function_sub*/ - break; - -/**** - *SUB_TIME - */ - case function_sub_time : + }/*function_expt*/ + break; + +/**** + *MOVE + */ + case function_move : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_type_symbol = param_data_type; + last_type_symbol = param_data_type; + + + { + + symbol_c * return_type_symbol = last_type_symbol; + return return_type_symbol; + + } + + + ERROR; + } + + }/*function_move*/ + break; + +/**** + *ADD_TIME + */ + case function_add_time : { symbol_c *last_type_symbol = NULL; @@ -27774,13 +27782,13 @@ ERROR; } - }/*function_sub_time*/ - break; - -/**** - *SUB_DATE_DATE - */ - case function_sub_date_date : + }/*function_add_time*/ + break; + +/**** + *ADD_TOD_TIME + */ + case function_add_tod_time : { symbol_c *last_type_symbol = NULL; @@ -27788,7 +27796,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { @@ -27805,10 +27813,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || 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; + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; return return_type_symbol; } @@ -27823,13 +27831,13 @@ ERROR; } - }/*function_sub_date_date*/ - break; - -/**** - *SUB_TOD_TIME - */ - case function_sub_tod_time : + }/*function_add_tod_time*/ + break; + +/**** + *ADD_DT_TIME + */ + case function_add_dt_time : { symbol_c *last_type_symbol = NULL; @@ -27837,7 +27845,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { @@ -27857,7 +27865,7 @@ if(IN2_type_symbol == NULL || 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; + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; return return_type_symbol; } @@ -27872,13 +27880,13 @@ ERROR; } - }/*function_sub_tod_time*/ - break; - -/**** - *SUB_TOD_TOD - */ - case function_sub_tod_tod : + }/*function_add_dt_time*/ + break; + +/**** + *MULTIME + */ + case function_multime : { symbol_c *last_type_symbol = NULL; @@ -27886,7 +27894,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -27903,7 +27911,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; @@ -27921,13 +27929,13 @@ ERROR; } - }/*function_sub_tod_tod*/ - break; - -/**** - *SUB_DT_TIME - */ - case function_sub_dt_time : + }/*function_multime*/ + break; + +/**** + *SUB_TIME + */ + case function_sub_time : { symbol_c *last_type_symbol = NULL; @@ -27935,7 +27943,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -27952,7 +27960,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || 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; @@ -27960,14 +27968,6 @@ } - if(IN2_type_symbol == NULL || 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; - return return_type_symbol; - - } - ERROR; } @@ -27978,13 +27978,13 @@ ERROR; } - }/*function_sub_dt_time*/ - break; - -/**** - *DIV - */ - case function_div : + }/*function_sub_time*/ + break; + +/**** + *SUB_DATE_DATE + */ + case function_sub_date_date : { symbol_c *last_type_symbol = NULL; @@ -27992,7 +27992,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { { @@ -28009,10 +28009,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { - symbol_c * return_type_symbol = last_type_symbol; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } @@ -28023,7 +28023,25 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_sub_date_date*/ + break; + +/**** + *SUB_TOD_TIME + */ + case function_sub_tod_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_type_symbol = param_data_type; + last_type_symbol = param_data_type; + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { @@ -28040,10 +28058,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || 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; + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; return return_type_symbol; } @@ -28058,13 +28076,13 @@ ERROR; } - }/*function_div*/ - break; - -/**** - *DIVTIME - */ - case function_divtime : + }/*function_sub_tod_time*/ + break; + +/**** + *SUB_TOD_TOD + */ + case function_sub_tod_tod : { symbol_c *last_type_symbol = NULL; @@ -28072,7 +28090,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { @@ -28089,7 +28107,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || 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; @@ -28107,13 +28125,13 @@ ERROR; } - }/*function_divtime*/ - break; - -/**** - *MOD - */ - case function_mod : + }/*function_sub_tod_tod*/ + break; + +/**** + *SUB_DT_TIME + */ + case function_sub_dt_time : { symbol_c *last_type_symbol = NULL; @@ -28121,7 +28139,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { @@ -28138,14 +28156,22 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { - symbol_c * return_type_symbol = last_type_symbol; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } + if(IN2_type_symbol == NULL || 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; + return return_type_symbol; + + } + ERROR; } @@ -28156,13 +28182,13 @@ ERROR; } - }/*function_mod*/ - break; - -/**** - *EXPT - */ - case function_expt : + }/*function_sub_dt_time*/ + break; + +/**** + *DIVTIME + */ + case function_divtime : { symbol_c *last_type_symbol = NULL; @@ -28170,7 +28196,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -28190,7 +28216,7 @@ if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - symbol_c * return_type_symbol = last_type_symbol; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; return return_type_symbol; } @@ -28205,33 +28231,7 @@ ERROR; } - }/*function_expt*/ - break; - -/**** - *MOVE - */ - case function_move : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - - { - - symbol_c * return_type_symbol = last_type_symbol; - return return_type_symbol; - - } - - - ERROR; - } - - }/*function_move*/ + }/*function_divtime*/ break; /**** diff -r 90c3772e6547 -r 41d4ac0b4821 lib/iec_std_lib.h --- a/lib/iec_std_lib.h Mon Jun 06 14:05:28 2011 +0100 +++ b/lib/iec_std_lib.h Mon Jun 06 16:28:41 2011 +0200 @@ -471,6 +471,33 @@ /***************/ /* Convertions */ /***************/ + /*****************/ + /* REAL_TO_INT */ + /*****************/ +static inline LINT __real_round(LREAL IN) +{ + return fmod(IN, 1) == 0 ? ((LINT)IN / 2) * 2 : (LINT)IN; +} +static inline LINT __preal_to_sint(LREAL IN) +{ + return IN >= 0 ? __real_round(IN + 0.5) : __real_round(IN - 0.5); +} +static inline LINT __preal_to_uint(LREAL IN) +{ + return IN >= 0 ? __real_round(IN + 0.5) : 0; +} +static inline LINT __real_to_sint(EN_ENO_PARAMS, LREAL IN){ + TEST_EN(LINT) + return (LINT)__preal_to_sint(IN); +} +static inline LWORD __real_to_bit(EN_ENO_PARAMS, LREAL IN){ + TEST_EN(LWORD) + return (LWORD)__preal_to_uint(IN); +} +static inline ULINT __real_to_uint(EN_ENO_PARAMS, LREAL IN){ + TEST_EN(ULINT) + return (ULINT)__preal_to_uint(IN); +} /***************/ /* TO_STRING */ /***************/ @@ -584,7 +611,7 @@ static inline LINT __string_to_sint(EN_ENO_PARAMS, STRING IN){ TEST_EN(LINT) - return (LWORD)__pstring_to_sint(&IN); + return (LINT)__pstring_to_sint(&IN); } static inline LWORD __string_to_bit(EN_ENO_PARAMS, STRING IN){ TEST_EN(LWORD) diff -r 90c3772e6547 -r 41d4ac0b4821 stage1_2/standard_function_names.c --- a/stage1_2/standard_function_names.c Mon Jun 06 14:05:28 2011 +0100 +++ b/stage1_2/standard_function_names.c Mon Jun 06 16:28:41 2011 +0200 @@ -412,22 +412,22 @@ "ACOS", "ATAN", "ADD", +"MUL", +"SUB", +"DIV", +"MOD", +"EXPT", +"MOVE", "ADD_TIME", "ADD_TOD_TIME", "ADD_DT_TIME", -"MUL", "MULTIME", -"SUB", "SUB_TIME", "SUB_DATE_DATE", "SUB_TOD_TIME", "SUB_TOD_TOD", "SUB_DT_TIME", -"DIV", "DIVTIME", -"MOD", -"EXPT", -"MOVE", "SHL", "SHR", "ROR", diff -r 90c3772e6547 -r 41d4ac0b4821 stage4/generate_c/il_code_gen.c --- a/stage4/generate_c/il_code_gen.c Mon Jun 06 14:05:28 2011 +0100 +++ b/stage4/generate_c/il_code_gen.c Mon Jun 06 16:28:41 2011 +0200 @@ -44,14 +44,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -81,14 +80,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -118,14 +116,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -191,14 +188,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -300,14 +296,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -337,14 +332,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -410,14 +404,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -447,14 +440,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -521,14 +513,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -558,14 +549,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -595,14 +585,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -632,14 +621,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -705,14 +693,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -8667,14 +8654,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -8704,14 +8690,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -8741,14 +8726,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -8814,14 +8798,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -8923,14 +8906,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -8960,14 +8942,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -9033,14 +9014,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -9070,14 +9050,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -9107,14 +9086,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -9144,14 +9122,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -9181,14 +9158,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -9218,14 +9194,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -9291,14 +9266,13 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__move_")); + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -14368,192 +14342,6 @@ break; /**** - *ADD_TIME - */ - case function_add_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = &this->default_variable_name; - - symbol_c *IN1_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_add")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_add_time*/ - break; - -/**** - *ADD_TOD_TIME - */ - case function_add_tod_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = &this->default_variable_name; - - symbol_c *IN1_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_add")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_add_tod_time*/ - break; - -/**** - *ADD_DT_TIME - */ - case function_add_dt_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = &this->default_variable_name; - - symbol_c *IN1_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_add")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_add_dt_time*/ - break; - -/**** *MUL */ case function_mul : @@ -14690,9 +14478,9 @@ break; /**** - *MULTIME - */ - case function_multime : + *SUB + */ + case function_sub : { symbol_c *last_type_symbol = NULL; @@ -14704,7 +14492,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) { { @@ -14724,7 +14512,305 @@ if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__time_mul")); + function_name = (symbol_c*)(new pragma_c("__sub_")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = last_type_symbol; + function_type_suffix = return_type_symbol; + break; + + } + + + ERROR; + } + + } + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + + + ERROR; + } + + } + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + break; + + } + + + ERROR; + } + + } + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + break; + + } + + + ERROR; + } + + } + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + + + ERROR; + } + + } + + + ERROR; + } + + }/*function_sub*/ + break; + +/**** + *DIV + */ + case function_div : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = &this->default_variable_name; + + symbol_c *IN1_type_symbol = param_data_type; + last_type_symbol = param_data_type; + + if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__div_")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = last_type_symbol; + function_type_suffix = return_type_symbol; + break; + + } + + + ERROR; + } + + } + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_div")); if (IN1_type_symbol == NULL) IN1_type_symbol = last_type_symbol; @@ -14750,13 +14836,13 @@ ERROR; } - }/*function_multime*/ - break; - -/**** - *SUB - */ - case function_sub : + }/*function_div*/ + break; + +/**** + *MOD + */ + case function_mod : { symbol_c *last_type_symbol = NULL; @@ -14788,7 +14874,7 @@ if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__sub_")); + function_name = (symbol_c*)(new pragma_c("__mod_")); if (IN1_type_symbol == NULL) IN1_type_symbol = last_type_symbol; @@ -14809,7 +14895,29 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_mod*/ + break; + +/**** + *EXPT + */ + case function_expt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = &this->default_variable_name; + + symbol_c *IN1_type_symbol = param_data_type; + last_type_symbol = param_data_type; + + if(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol)) { { @@ -14826,10 +14934,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__time_sub")); + function_name = (symbol_c*)(new pragma_c("__expt_")); if (IN1_type_symbol == NULL) IN1_type_symbol = last_type_symbol; @@ -14838,7 +14946,8 @@ if (IN2_type_symbol == NULL) IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + symbol_c * return_type_symbol = last_type_symbol; + function_type_suffix = IN1_type_symbol; break; } @@ -14849,7 +14958,69 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_expt*/ + break; + +/**** + *MOVE + */ + case function_move : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = &this->default_variable_name; + + symbol_c *IN_type_symbol = param_data_type; + last_type_symbol = param_data_type; + + + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = last_type_symbol; + function_type_suffix = return_type_symbol; + if (search_expression_type->is_literal_integer_type(function_type_suffix)) + function_type_suffix = &search_constant_type_c::lint_type_name; + else if (search_expression_type->is_literal_real_type(function_type_suffix)) + function_type_suffix = &search_constant_type_c::lreal_type_name; + break; + + } + + + ERROR; + } + + }/*function_move*/ + break; + +/**** + *ADD_TIME + */ + case function_add_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = &this->default_variable_name; + + symbol_c *IN1_type_symbol = param_data_type; + last_type_symbol = param_data_type; + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -14866,10 +15037,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__time_sub")); + function_name = (symbol_c*)(new pragma_c("__time_add")); if (IN1_type_symbol == NULL) IN1_type_symbol = last_type_symbol; @@ -14883,29 +15054,34 @@ } - if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - break; - - } - ERROR; } } + + ERROR; + } + + }/*function_add_time*/ + break; + +/**** + *ADD_TOD_TIME + */ + case function_add_tod_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = &this->default_variable_name; + + symbol_c *IN1_type_symbol = param_data_type; + last_type_symbol = param_data_type; + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { @@ -14923,27 +15099,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - break; - - } - if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__time_sub")); + function_name = (symbol_c*)(new pragma_c("__time_add")); if (IN1_type_symbol == NULL) IN1_type_symbol = last_type_symbol; @@ -14963,7 +15122,29 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_add_tod_time*/ + break; + +/**** + *ADD_DT_TIME + */ + case function_add_dt_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = &this->default_variable_name; + + symbol_c *IN1_type_symbol = param_data_type; + last_type_symbol = param_data_type; + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { @@ -14983,7 +15164,7 @@ if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__time_sub")); + function_name = (symbol_c*)(new pragma_c("__time_add")); if (IN1_type_symbol == NULL) IN1_type_symbol = last_type_symbol; @@ -14992,7 +15173,7 @@ if (IN2_type_symbol == NULL) IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; break; } @@ -15007,13 +15188,13 @@ ERROR; } - }/*function_sub*/ - break; - -/**** - *SUB_TIME - */ - case function_sub_time : + }/*function_add_dt_time*/ + break; + +/**** + *MULTIME + */ + case function_multime : { symbol_c *last_type_symbol = NULL; @@ -15042,10 +15223,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__time_sub")); + function_name = (symbol_c*)(new pragma_c("__time_mul")); if (IN1_type_symbol == NULL) IN1_type_symbol = last_type_symbol; @@ -15055,6 +15236,8 @@ IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + if (search_expression_type->is_literal_integer_type(function_type_suffix)) + function_type_suffix = &search_constant_type_c::lint_type_name; break; } @@ -15069,13 +15252,13 @@ ERROR; } - }/*function_sub_time*/ - break; - -/**** - *SUB_DATE_DATE - */ - case function_sub_date_date : + }/*function_multime*/ + break; + +/**** + *SUB_TIME + */ + case function_sub_time : { symbol_c *last_type_symbol = NULL; @@ -15087,7 +15270,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -15104,7 +15287,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); @@ -15131,13 +15314,13 @@ ERROR; } - }/*function_sub_date_date*/ - break; - -/**** - *SUB_TOD_TIME - */ - case function_sub_tod_time : + }/*function_sub_time*/ + break; + +/**** + *SUB_DATE_DATE + */ + case function_sub_date_date : { symbol_c *last_type_symbol = NULL; @@ -15149,7 +15332,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { { @@ -15166,7 +15349,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); @@ -15178,7 +15361,7 @@ if (IN2_type_symbol == NULL) IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; break; } @@ -15193,13 +15376,13 @@ ERROR; } - }/*function_sub_tod_time*/ - break; - -/**** - *SUB_TOD_TOD - */ - case function_sub_tod_tod : + }/*function_sub_date_date*/ + break; + +/**** + *SUB_TOD_TIME + */ + case function_sub_tod_time : { symbol_c *last_type_symbol = NULL; @@ -15228,7 +15411,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); @@ -15240,7 +15423,7 @@ if (IN2_type_symbol == NULL) IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; break; } @@ -15255,13 +15438,13 @@ ERROR; } - }/*function_sub_tod_tod*/ - break; - -/**** - *SUB_DT_TIME - */ - case function_sub_dt_time : + }/*function_sub_tod_time*/ + break; + +/**** + *SUB_TOD_TOD + */ + case function_sub_tod_tod : { symbol_c *last_type_symbol = NULL; @@ -15273,7 +15456,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { { @@ -15290,7 +15473,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); @@ -15307,23 +15490,6 @@ } - if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - break; - - } - ERROR; } @@ -15334,13 +15500,13 @@ ERROR; } - }/*function_sub_dt_time*/ - break; - -/**** - *DIV - */ - case function_div : + }/*function_sub_tod_tod*/ + break; + +/**** + *SUB_DT_TIME + */ + case function_sub_dt_time : { symbol_c *last_type_symbol = NULL; @@ -15352,7 +15518,7 @@ symbol_c *IN1_type_symbol = param_data_type; last_type_symbol = param_data_type; - if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { { @@ -15369,10 +15535,10 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("__div_")); + function_name = (symbol_c*)(new pragma_c("__time_sub")); if (IN1_type_symbol == NULL) IN1_type_symbol = last_type_symbol; @@ -15381,8 +15547,24 @@ if (IN2_type_symbol == NULL) IN2_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = last_type_symbol; - function_type_suffix = return_type_symbol; + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; break; } @@ -15393,6 +15575,28 @@ } + + ERROR; + } + + }/*function_sub_dt_time*/ + break; + +/**** + *DIVTIME + */ + case function_divtime : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = &this->default_variable_name; + + symbol_c *IN1_type_symbol = param_data_type; + last_type_symbol = param_data_type; + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { @@ -15439,240 +15643,10 @@ ERROR; } - }/*function_div*/ - break; - -/**** - *DIVTIME - */ - case function_divtime : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = &this->default_variable_name; - - symbol_c *IN1_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_div")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - if (search_expression_type->is_literal_integer_type(function_type_suffix)) - function_type_suffix = &search_constant_type_c::lint_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - }/*function_divtime*/ break; /**** - *MOD - */ - case function_mod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = &this->default_variable_name; - - symbol_c *IN1_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__mod_")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = last_type_symbol; - function_type_suffix = return_type_symbol; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_mod*/ - break; - -/**** - *EXPT - */ - case function_expt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = &this->default_variable_name; - - symbol_c *IN1_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - if(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__expt_")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = last_type_symbol; - function_type_suffix = IN1_type_symbol; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_expt*/ - break; - -/**** - *MOVE - */ - case function_move : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = &this->default_variable_name; - - symbol_c *IN_type_symbol = param_data_type; - last_type_symbol = param_data_type; - - - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = last_type_symbol; - function_type_suffix = return_type_symbol; - if (search_expression_type->is_literal_integer_type(function_type_suffix)) - function_type_suffix = &search_constant_type_c::lint_type_name; - else if (search_expression_type->is_literal_real_type(function_type_suffix)) - function_type_suffix = &search_constant_type_c::lreal_type_name; - break; - - } - - - ERROR; - } - - }/*function_move*/ - break; - -/**** *SHL */ case function_shl : diff -r 90c3772e6547 -r 41d4ac0b4821 stage4/generate_c/st_code_gen.c --- a/stage4/generate_c/st_code_gen.c Mon Jun 06 14:05:28 2011 +0100 +++ b/stage4/generate_c/st_code_gen.c Mon Jun 06 16:28:41 2011 +0200 @@ -50,11 +50,1665 @@ if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) { + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_sint*/ + break; + +/**** + *REAL_TO_LINT + */ + case function_real_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_lint*/ + break; + +/**** + *REAL_TO_DINT + */ + case function_real_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_dint*/ + break; + +/**** + *REAL_TO_DATE + */ + case function_real_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_date*/ + break; + +/**** + *REAL_TO_DWORD + */ + case function_real_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_dword*/ + break; + +/**** + *REAL_TO_DT + */ + case function_real_to_dt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_dt*/ + break; + +/**** + *REAL_TO_TOD + */ + case function_real_to_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_tod*/ + break; + +/**** + *REAL_TO_UDINT + */ + case function_real_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_udint*/ + break; + +/**** + *REAL_TO_WORD + */ + case function_real_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_word*/ + break; + +/**** + *REAL_TO_STRING + */ + case function_real_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_string*/ + break; + +/**** + *REAL_TO_LWORD + */ + case function_real_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_lword*/ + break; + +/**** + *REAL_TO_UINT + */ + case function_real_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_uint*/ + break; + +/**** + *REAL_TO_LREAL + */ + case function_real_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + function_name = (symbol_c*)(new pragma_c("__move_")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_lreal*/ + break; + +/**** + *REAL_TO_BYTE + */ + case function_real_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_byte*/ + break; + +/**** + *REAL_TO_USINT + */ + case function_real_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_usint*/ + break; + +/**** + *REAL_TO_ULINT + */ + case function_real_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_ulint*/ + break; + +/**** + *REAL_TO_BOOL + */ + case function_real_to_bool : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_bool*/ + break; + +/**** + *REAL_TO_TIME + */ + case function_real_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_time*/ + break; + +/**** + *REAL_TO_INT + */ + case function_real_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_real_to_int*/ + break; + +/**** + *SINT_TO_REAL + */ + case function_sint_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_real*/ + break; + +/**** + *SINT_TO_LINT + */ + case function_sint_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_lint*/ + break; + +/**** + *SINT_TO_DINT + */ + case function_sint_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_dint*/ + break; + +/**** + *SINT_TO_DATE + */ + case function_sint_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_date*/ + break; + +/**** + *SINT_TO_DWORD + */ + case function_sint_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_dword*/ + break; + +/**** + *SINT_TO_DT + */ + case function_sint_to_dt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_dt*/ + break; + +/**** + *SINT_TO_TOD + */ + case function_sint_to_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_tod*/ + break; + +/**** + *SINT_TO_UDINT + */ + case function_sint_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_udint*/ + break; + +/**** + *SINT_TO_WORD + */ + case function_sint_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_word*/ + break; + +/**** + *SINT_TO_STRING + */ + case function_sint_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__sint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_string*/ + break; + +/**** + *SINT_TO_LWORD + */ + case function_sint_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_lword*/ + break; + +/**** + *SINT_TO_UINT + */ + case function_sint_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_uint*/ + break; + +/**** + *SINT_TO_LREAL + */ + case function_sint_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_lreal*/ + break; + +/**** + *SINT_TO_BYTE + */ + case function_sint_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_byte*/ + break; + +/**** + *SINT_TO_USINT + */ + case function_sint_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_usint*/ + break; + +/**** + *SINT_TO_ULINT + */ + case function_sint_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_ulint*/ + break; + +/**** + *SINT_TO_BOOL + */ + case function_sint_to_bool : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_bool*/ + break; + +/**** + *SINT_TO_TIME + */ + case function_sint_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_time*/ + break; + +/**** + *SINT_TO_INT + */ + case function_sint_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_sint_to_int*/ + break; + +/**** + *LINT_TO_REAL + */ + case function_lint_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_real*/ + break; + +/**** + *LINT_TO_SINT + */ + case function_lint_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; function_type_prefix = return_type_symbol; function_type_suffix = IN_type_symbol; @@ -66,31 +1720,31 @@ ERROR; } - }/*function_real_to_sint*/ - break; - -/**** - *REAL_TO_LINT - */ - case function_real_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + }/*function_lint_to_sint*/ + break; + +/**** + *LINT_TO_DINT + */ + case function_lint_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__move_")); @@ -98,6 +1752,818 @@ if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_dint*/ + break; + +/**** + *LINT_TO_DATE + */ + case function_lint_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_date*/ + break; + +/**** + *LINT_TO_DWORD + */ + case function_lint_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_dword*/ + break; + +/**** + *LINT_TO_DT + */ + case function_lint_to_dt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_dt*/ + break; + +/**** + *LINT_TO_TOD + */ + case function_lint_to_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_tod*/ + break; + +/**** + *LINT_TO_UDINT + */ + case function_lint_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_udint*/ + break; + +/**** + *LINT_TO_WORD + */ + case function_lint_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_word*/ + break; + +/**** + *LINT_TO_STRING + */ + case function_lint_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__sint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_string*/ + break; + +/**** + *LINT_TO_LWORD + */ + case function_lint_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_lword*/ + break; + +/**** + *LINT_TO_UINT + */ + case function_lint_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_uint*/ + break; + +/**** + *LINT_TO_LREAL + */ + case function_lint_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_lreal*/ + break; + +/**** + *LINT_TO_BYTE + */ + case function_lint_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_byte*/ + break; + +/**** + *LINT_TO_USINT + */ + case function_lint_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_usint*/ + break; + +/**** + *LINT_TO_ULINT + */ + case function_lint_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_ulint*/ + break; + +/**** + *LINT_TO_BOOL + */ + case function_lint_to_bool : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_bool*/ + break; + +/**** + *LINT_TO_TIME + */ + case function_lint_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_time*/ + break; + +/**** + *LINT_TO_INT + */ + case function_lint_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lint_to_int*/ + break; + +/**** + *DINT_TO_REAL + */ + case function_dint_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_real*/ + break; + +/**** + *DINT_TO_SINT + */ + case function_dint_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_sint*/ + break; + +/**** + *DINT_TO_LINT + */ + case function_dint_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; function_type_prefix = return_type_symbol; function_type_suffix = IN_type_symbol; @@ -109,31 +2575,73 @@ ERROR; } - }/*function_real_to_lint*/ - break; - -/**** - *REAL_TO_DINT - */ - case function_real_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + }/*function_dint_to_lint*/ + break; + +/**** + *DINT_TO_DATE + */ + case function_dint_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_date*/ + break; + +/**** + *DINT_TO_DWORD + */ + case function_dint_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__move_")); @@ -141,8 +2649,1279 @@ if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_dword*/ + break; + +/**** + *DINT_TO_DT + */ + case function_dint_to_dt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_dt*/ + break; + +/**** + *DINT_TO_TOD + */ + case function_dint_to_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_tod*/ + break; + +/**** + *DINT_TO_UDINT + */ + case function_dint_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_udint*/ + break; + +/**** + *DINT_TO_WORD + */ + case function_dint_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_word*/ + break; + +/**** + *DINT_TO_STRING + */ + case function_dint_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__sint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_string*/ + break; + +/**** + *DINT_TO_LWORD + */ + case function_dint_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_lword*/ + break; + +/**** + *DINT_TO_UINT + */ + case function_dint_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_uint*/ + break; + +/**** + *DINT_TO_LREAL + */ + case function_dint_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_lreal*/ + break; + +/**** + *DINT_TO_BYTE + */ + case function_dint_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_byte*/ + break; + +/**** + *DINT_TO_USINT + */ + case function_dint_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_usint*/ + break; + +/**** + *DINT_TO_ULINT + */ + case function_dint_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_ulint*/ + break; + +/**** + *DINT_TO_BOOL + */ + case function_dint_to_bool : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_bool*/ + break; + +/**** + *DINT_TO_TIME + */ + case function_dint_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_time*/ + break; + +/**** + *DINT_TO_INT + */ + case function_dint_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dint_to_int*/ + break; + +/**** + *DATE_TO_REAL + */ + case function_date_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_real*/ + break; + +/**** + *DATE_TO_SINT + */ + case function_date_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_sint*/ + break; + +/**** + *DATE_TO_LINT + */ + case function_date_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_lint*/ + break; + +/**** + *DATE_TO_DINT + */ + case function_date_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_dint*/ + break; + +/**** + *DATE_TO_DWORD + */ + case function_date_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_dword*/ + break; + +/**** + *DATE_TO_UDINT + */ + case function_date_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_udint*/ + break; + +/**** + *DATE_TO_WORD + */ + case function_date_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_word*/ + break; + +/**** + *DATE_TO_STRING + */ + case function_date_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__date_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_string*/ + break; + +/**** + *DATE_TO_LWORD + */ + case function_date_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_lword*/ + break; + +/**** + *DATE_TO_UINT + */ + case function_date_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_uint*/ + break; + +/**** + *DATE_TO_LREAL + */ + case function_date_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_lreal*/ + break; + +/**** + *DATE_TO_BYTE + */ + case function_date_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_byte*/ + break; + +/**** + *DATE_TO_USINT + */ + case function_date_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_usint*/ + break; + +/**** + *DATE_TO_ULINT + */ + case function_date_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_ulint*/ + break; + +/**** + *DATE_TO_INT + */ + case function_date_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_date_to_int*/ + break; + +/**** + *DWORD_TO_REAL + */ + case function_dword_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; function_type_suffix = IN_type_symbol; break; @@ -152,31 +3931,6275 @@ ERROR; } - }/*function_real_to_dint*/ - break; - -/**** - *REAL_TO_DATE - */ - case function_real_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + }/*function_dword_to_real*/ + break; + +/**** + *DWORD_TO_SINT + */ + case function_dword_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_sint*/ + break; + +/**** + *DWORD_TO_LINT + */ + case function_dword_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_lint*/ + break; + +/**** + *DWORD_TO_DINT + */ + case function_dword_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_dint*/ + break; + +/**** + *DWORD_TO_DATE + */ + case function_dword_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_date*/ + break; + +/**** + *DWORD_TO_DT + */ + case function_dword_to_dt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_dt*/ + break; + +/**** + *DWORD_TO_TOD + */ + case function_dword_to_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_tod*/ + break; + +/**** + *DWORD_TO_UDINT + */ + case function_dword_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_udint*/ + break; + +/**** + *DWORD_TO_WORD + */ + case function_dword_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_word*/ + break; + +/**** + *DWORD_TO_STRING + */ + case function_dword_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__bit_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_string*/ + break; + +/**** + *DWORD_TO_LWORD + */ + case function_dword_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_lword*/ + break; + +/**** + *DWORD_TO_UINT + */ + case function_dword_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_uint*/ + break; + +/**** + *DWORD_TO_LREAL + */ + case function_dword_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_lreal*/ + break; + +/**** + *DWORD_TO_BYTE + */ + case function_dword_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_byte*/ + break; + +/**** + *DWORD_TO_USINT + */ + case function_dword_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_usint*/ + break; + +/**** + *DWORD_TO_ULINT + */ + case function_dword_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_ulint*/ + break; + +/**** + *DWORD_TO_BOOL + */ + case function_dword_to_bool : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_bool*/ + break; + +/**** + *DWORD_TO_TIME + */ + case function_dword_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_time*/ + break; + +/**** + *DWORD_TO_INT + */ + case function_dword_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dword_to_int*/ + break; + +/**** + *DT_TO_REAL + */ + case function_dt_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_real*/ + break; + +/**** + *DT_TO_SINT + */ + case function_dt_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_sint*/ + break; + +/**** + *DT_TO_LINT + */ + case function_dt_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_lint*/ + break; + +/**** + *DT_TO_DINT + */ + case function_dt_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_dint*/ + break; + +/**** + *DT_TO_DWORD + */ + case function_dt_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_dword*/ + break; + +/**** + *DT_TO_UDINT + */ + case function_dt_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_udint*/ + break; + +/**** + *DT_TO_WORD + */ + case function_dt_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_word*/ + break; + +/**** + *DT_TO_STRING + */ + case function_dt_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__dt_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_string*/ + break; + +/**** + *DT_TO_LWORD + */ + case function_dt_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_lword*/ + break; + +/**** + *DT_TO_UINT + */ + case function_dt_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_uint*/ + break; + +/**** + *DT_TO_LREAL + */ + case function_dt_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_lreal*/ + break; + +/**** + *DT_TO_BYTE + */ + case function_dt_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_byte*/ + break; + +/**** + *DT_TO_USINT + */ + case function_dt_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_usint*/ + break; + +/**** + *DT_TO_ULINT + */ + case function_dt_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_ulint*/ + break; + +/**** + *DT_TO_INT + */ + case function_dt_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_dt_to_int*/ + break; + +/**** + *TOD_TO_REAL + */ + case function_tod_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_real*/ + break; + +/**** + *TOD_TO_SINT + */ + case function_tod_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_sint*/ + break; + +/**** + *TOD_TO_LINT + */ + case function_tod_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_lint*/ + break; + +/**** + *TOD_TO_DINT + */ + case function_tod_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_dint*/ + break; + +/**** + *TOD_TO_DWORD + */ + case function_tod_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_dword*/ + break; + +/**** + *TOD_TO_UDINT + */ + case function_tod_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_udint*/ + break; + +/**** + *TOD_TO_WORD + */ + case function_tod_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_word*/ + break; + +/**** + *TOD_TO_STRING + */ + case function_tod_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__tod_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_string*/ + break; + +/**** + *TOD_TO_LWORD + */ + case function_tod_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_lword*/ + break; + +/**** + *TOD_TO_UINT + */ + case function_tod_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_uint*/ + break; + +/**** + *TOD_TO_LREAL + */ + case function_tod_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_lreal*/ + break; + +/**** + *TOD_TO_BYTE + */ + case function_tod_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_byte*/ + break; + +/**** + *TOD_TO_USINT + */ + case function_tod_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_usint*/ + break; + +/**** + *TOD_TO_ULINT + */ + case function_tod_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_ulint*/ + break; + +/**** + *TOD_TO_INT + */ + case function_tod_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_to_int")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_tod_to_int*/ + break; + +/**** + *UDINT_TO_REAL + */ + case function_udint_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_real*/ + break; + +/**** + *UDINT_TO_SINT + */ + case function_udint_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_sint*/ + break; + +/**** + *UDINT_TO_LINT + */ + case function_udint_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_lint*/ + break; + +/**** + *UDINT_TO_DINT + */ + case function_udint_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_dint*/ + break; + +/**** + *UDINT_TO_DATE + */ + case function_udint_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_date*/ + break; + +/**** + *UDINT_TO_DWORD + */ + case function_udint_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_dword*/ + break; + +/**** + *UDINT_TO_DT + */ + case function_udint_to_dt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_dt*/ + break; + +/**** + *UDINT_TO_TOD + */ + case function_udint_to_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_tod*/ + break; + +/**** + *UDINT_TO_WORD + */ + case function_udint_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_word*/ + break; + +/**** + *UDINT_TO_STRING + */ + case function_udint_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__uint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_string*/ + break; + +/**** + *UDINT_TO_LWORD + */ + case function_udint_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_lword*/ + break; + +/**** + *UDINT_TO_UINT + */ + case function_udint_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_uint*/ + break; + +/**** + *UDINT_TO_LREAL + */ + case function_udint_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_lreal*/ + break; + +/**** + *UDINT_TO_BYTE + */ + case function_udint_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_byte*/ + break; + +/**** + *UDINT_TO_USINT + */ + case function_udint_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_usint*/ + break; + +/**** + *UDINT_TO_ULINT + */ + case function_udint_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_ulint*/ + break; + +/**** + *UDINT_TO_BOOL + */ + case function_udint_to_bool : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_bool*/ + break; + +/**** + *UDINT_TO_TIME + */ + case function_udint_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_time*/ + break; + +/**** + *UDINT_TO_INT + */ + case function_udint_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_udint_to_int*/ + break; + +/**** + *WORD_TO_REAL + */ + case function_word_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_real*/ + break; + +/**** + *WORD_TO_SINT + */ + case function_word_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_sint*/ + break; + +/**** + *WORD_TO_LINT + */ + case function_word_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_lint*/ + break; + +/**** + *WORD_TO_DINT + */ + case function_word_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_dint*/ + break; + +/**** + *WORD_TO_DATE + */ + case function_word_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_date*/ + break; + +/**** + *WORD_TO_DWORD + */ + case function_word_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_dword*/ + break; + +/**** + *WORD_TO_DT + */ + case function_word_to_dt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_dt*/ + break; + +/**** + *WORD_TO_TOD + */ + case function_word_to_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_tod*/ + break; + +/**** + *WORD_TO_UDINT + */ + case function_word_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_udint*/ + break; + +/**** + *WORD_TO_STRING + */ + case function_word_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__bit_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_string*/ + break; + +/**** + *WORD_TO_LWORD + */ + case function_word_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_lword*/ + break; + +/**** + *WORD_TO_UINT + */ + case function_word_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_uint*/ + break; + +/**** + *WORD_TO_LREAL + */ + case function_word_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_lreal*/ + break; + +/**** + *WORD_TO_BYTE + */ + case function_word_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_byte*/ + break; + +/**** + *WORD_TO_USINT + */ + case function_word_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_usint*/ + break; + +/**** + *WORD_TO_ULINT + */ + case function_word_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_ulint*/ + break; + +/**** + *WORD_TO_BOOL + */ + case function_word_to_bool : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_bool*/ + break; + +/**** + *WORD_TO_TIME + */ + case function_word_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_time*/ + break; + +/**** + *WORD_TO_INT + */ + case function_word_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_word_to_int*/ + break; + +/**** + *STRING_TO_REAL + */ + case function_string_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_real*/ + break; + +/**** + *STRING_TO_SINT + */ + case function_string_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_sint*/ + break; + +/**** + *STRING_TO_LINT + */ + case function_string_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_lint*/ + break; + +/**** + *STRING_TO_DINT + */ + case function_string_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_dint*/ + break; + +/**** + *STRING_TO_DATE + */ + case function_string_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_date*/ + break; + +/**** + *STRING_TO_DWORD + */ + case function_string_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_dword*/ + break; + +/**** + *STRING_TO_DT + */ + case function_string_to_dt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_dt*/ + break; + +/**** + *STRING_TO_TOD + */ + case function_string_to_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_tod*/ + break; + +/**** + *STRING_TO_UDINT + */ + case function_string_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_udint*/ + break; + +/**** + *STRING_TO_WORD + */ + case function_string_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_word*/ + break; + +/**** + *STRING_TO_LWORD + */ + case function_string_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_lword*/ + break; + +/**** + *STRING_TO_UINT + */ + case function_string_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_uint*/ + break; + +/**** + *STRING_TO_LREAL + */ + case function_string_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_real")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_lreal*/ + break; + +/**** + *STRING_TO_BYTE + */ + case function_string_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_bit")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_byte*/ + break; + +/**** + *STRING_TO_USINT + */ + case function_string_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_usint*/ + break; + +/**** + *STRING_TO_ULINT + */ + case function_string_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_uint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_ulint*/ + break; + +/**** + *STRING_TO_BOOL + */ + case function_string_to_bool : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_bool")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_bool*/ + break; + +/**** + *STRING_TO_TIME + */ + case function_string_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_time*/ + break; + +/**** + *STRING_TO_INT + */ + case function_string_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__string_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_string_to_int*/ + break; + +/**** + *LWORD_TO_REAL + */ + case function_lword_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_real*/ + break; + +/**** + *LWORD_TO_SINT + */ + case function_lword_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_sint*/ + break; + +/**** + *LWORD_TO_LINT + */ + case function_lword_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_lint*/ + break; + +/**** + *LWORD_TO_DINT + */ + case function_lword_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_dint*/ + break; + +/**** + *LWORD_TO_DATE + */ + case function_lword_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_date*/ + break; + +/**** + *LWORD_TO_DWORD + */ + case function_lword_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_dword*/ + break; + +/**** + *LWORD_TO_DT + */ + case function_lword_to_dt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_dt*/ + break; + +/**** + *LWORD_TO_TOD + */ + case function_lword_to_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_tod*/ + break; + +/**** + *LWORD_TO_UDINT + */ + case function_lword_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_udint*/ + break; + +/**** + *LWORD_TO_WORD + */ + case function_lword_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_word*/ + break; + +/**** + *LWORD_TO_STRING + */ + case function_lword_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__bit_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_string*/ + break; + +/**** + *LWORD_TO_UINT + */ + case function_lword_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_uint*/ + break; + +/**** + *LWORD_TO_LREAL + */ + case function_lword_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_lreal*/ + break; + +/**** + *LWORD_TO_BYTE + */ + case function_lword_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_byte*/ + break; + +/**** + *LWORD_TO_USINT + */ + case function_lword_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_usint*/ + break; + +/**** + *LWORD_TO_ULINT + */ + case function_lword_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_ulint*/ + break; + +/**** + *LWORD_TO_BOOL + */ + case function_lword_to_bool : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_bool*/ + break; + +/**** + *LWORD_TO_TIME + */ + case function_lword_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_time*/ + break; + +/**** + *LWORD_TO_INT + */ + case function_lword_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lword_to_int*/ + break; + +/**** + *UINT_TO_REAL + */ + case function_uint_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_real*/ + break; + +/**** + *UINT_TO_SINT + */ + case function_uint_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_sint*/ + break; + +/**** + *UINT_TO_LINT + */ + case function_uint_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_lint*/ + break; + +/**** + *UINT_TO_DINT + */ + case function_uint_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_dint*/ + break; + +/**** + *UINT_TO_DATE + */ + case function_uint_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_date*/ + break; + +/**** + *UINT_TO_DWORD + */ + case function_uint_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_dword*/ + break; + +/**** + *UINT_TO_DT + */ + case function_uint_to_dt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_dt*/ + break; + +/**** + *UINT_TO_TOD + */ + case function_uint_to_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_tod*/ + break; + +/**** + *UINT_TO_UDINT + */ + case function_uint_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_udint*/ + break; + +/**** + *UINT_TO_WORD + */ + case function_uint_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_word*/ + break; + +/**** + *UINT_TO_STRING + */ + case function_uint_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__uint_to_string")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_string*/ + break; + +/**** + *UINT_TO_LWORD + */ + case function_uint_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_lword*/ + break; + +/**** + *UINT_TO_LREAL + */ + case function_uint_to_lreal : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_lreal*/ + break; + +/**** + *UINT_TO_BYTE + */ + case function_uint_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_byte*/ + break; + +/**** + *UINT_TO_USINT + */ + case function_uint_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_usint*/ + break; + +/**** + *UINT_TO_ULINT + */ + case function_uint_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_ulint*/ + break; + +/**** + *UINT_TO_BOOL + */ + case function_uint_to_bool : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_bool*/ + break; + +/**** + *UINT_TO_TIME + */ + case function_uint_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__int_to_time")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_time*/ + break; + +/**** + *UINT_TO_INT + */ + case function_uint_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_uint_to_int*/ + break; + +/**** + *LREAL_TO_REAL + */ + case function_lreal_to_real : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; + function_type_prefix = return_type_symbol; + function_type_suffix = IN_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lreal_to_real*/ + break; + +/**** + *LREAL_TO_SINT + */ + case function_lreal_to_sint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lreal_to_sint*/ + break; + +/**** + *LREAL_TO_LINT + */ + case function_lreal_to_lint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lreal_to_lint*/ + break; + +/**** + *LREAL_TO_DINT + */ + case function_lreal_to_dint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; + function_type_prefix = return_type_symbol; + break; + + } + + + ERROR; + } + + }/*function_lreal_to_dint*/ + break; + +/**** + *LREAL_TO_DATE + */ + case function_lreal_to_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); @@ -194,74 +10217,73 @@ ERROR; } - }/*function_real_to_date*/ - break; - -/**** - *REAL_TO_DWORD - */ - case function_real_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); + }/*function_lreal_to_date*/ + break; + +/**** + *LREAL_TO_DWORD + */ + case function_lreal_to_dword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_real_to_dword*/ - break; - -/**** - *REAL_TO_DT - */ - case function_real_to_dt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + break; + + } + + + ERROR; + } + + }/*function_lreal_to_dword*/ + break; + +/**** + *LREAL_TO_DT + */ + case function_lreal_to_dt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); @@ -279,31 +10301,31 @@ ERROR; } - }/*function_real_to_dt*/ - break; - -/**** - *REAL_TO_TOD - */ - case function_real_to_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + }/*function_lreal_to_dt*/ + break; + +/**** + *LREAL_TO_TOD + */ + case function_lreal_to_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); @@ -321,117 +10343,115 @@ ERROR; } - }/*function_real_to_tod*/ - break; - -/**** - *REAL_TO_UDINT - */ - case function_real_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); + }/*function_lreal_to_tod*/ + break; + +/**** + *LREAL_TO_UDINT + */ + case function_lreal_to_udint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_real_to_udint*/ - break; - -/**** - *REAL_TO_WORD - */ - case function_real_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); + break; + + } + + + ERROR; + } + + }/*function_lreal_to_udint*/ + break; + +/**** + *LREAL_TO_WORD + */ + case function_lreal_to_word : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_real_to_word*/ - break; - -/**** - *REAL_TO_STRING - */ - case function_real_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + break; + + } + + + ERROR; + } + + }/*function_lreal_to_word*/ + break; + +/**** + *LREAL_TO_STRING + */ + case function_lreal_to_string : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_string")); @@ -449,332 +10469,283 @@ ERROR; } - }/*function_real_to_string*/ - break; - -/**** - *REAL_TO_LWORD - */ - case function_real_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); + }/*function_lreal_to_string*/ + break; + +/**** + *LREAL_TO_LWORD + */ + case function_lreal_to_lword : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_real_to_lword*/ - break; - -/**** - *REAL_TO_UINT - */ - case function_real_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); + break; + + } + + + ERROR; + } + + }/*function_lreal_to_lword*/ + break; + +/**** + *LREAL_TO_UINT + */ + case function_lreal_to_uint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_real_to_uint*/ - break; - -/**** - *REAL_TO_LREAL - */ - case function_real_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_real_to_lreal*/ - break; - -/**** - *REAL_TO_BYTE - */ - case function_real_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); + break; + + } + + + ERROR; + } + + }/*function_lreal_to_uint*/ + break; + +/**** + *LREAL_TO_BYTE + */ + case function_lreal_to_byte : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_real_to_byte*/ - break; - -/**** - *REAL_TO_USINT - */ - case function_real_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); + break; + + } + + + ERROR; + } + + }/*function_lreal_to_byte*/ + break; + +/**** + *LREAL_TO_USINT + */ + case function_lreal_to_usint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_real_to_usint*/ - break; - -/**** - *REAL_TO_ULINT - */ - case function_real_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); + break; + + } + + + ERROR; + } + + }/*function_lreal_to_usint*/ + break; + +/**** + *LREAL_TO_ULINT + */ + case function_lreal_to_ulint : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_uint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_real_to_ulint*/ - break; - -/**** - *REAL_TO_BOOL - */ - case function_real_to_bool : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); + break; + + } + + + ERROR; + } + + }/*function_lreal_to_ulint*/ + break; + +/**** + *LREAL_TO_BOOL + */ + case function_lreal_to_bool : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_bit")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_real_to_bool*/ - break; - -/**** - *REAL_TO_TIME - */ - case function_real_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) + break; + + } + + + ERROR; + } + + }/*function_lreal_to_bool*/ + break; + +/**** + *LREAL_TO_TIME + */ + case function_lreal_to_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__real_to_time")); @@ -792,10037 +10763,40 @@ ERROR; } - }/*function_real_to_time*/ - break; - -/**** - *REAL_TO_INT - */ - case function_real_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); + }/*function_lreal_to_time*/ + break; + +/**** + *LREAL_TO_INT + */ + case function_lreal_to_int : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__real_to_sint")); if (IN_type_symbol == NULL) IN_type_symbol = last_type_symbol; ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_real_to_int*/ - break; - -/**** - *SINT_TO_REAL - */ - case function_sint_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_real*/ - break; - -/**** - *SINT_TO_LINT - */ - case function_sint_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_lint*/ - break; - -/**** - *SINT_TO_DINT - */ - case function_sint_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_dint*/ - break; - -/**** - *SINT_TO_DATE - */ - case function_sint_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_date*/ - break; - -/**** - *SINT_TO_DWORD - */ - case function_sint_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_dword*/ - break; - -/**** - *SINT_TO_DT - */ - case function_sint_to_dt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_dt*/ - break; - -/**** - *SINT_TO_TOD - */ - case function_sint_to_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_tod*/ - break; - -/**** - *SINT_TO_UDINT - */ - case function_sint_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_udint*/ - break; - -/**** - *SINT_TO_WORD - */ - case function_sint_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_word*/ - break; - -/**** - *SINT_TO_STRING - */ - case function_sint_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__sint_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_string*/ - break; - -/**** - *SINT_TO_LWORD - */ - case function_sint_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_lword*/ - break; - -/**** - *SINT_TO_UINT - */ - case function_sint_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_uint*/ - break; - -/**** - *SINT_TO_LREAL - */ - case function_sint_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_lreal*/ - break; - -/**** - *SINT_TO_BYTE - */ - case function_sint_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_byte*/ - break; - -/**** - *SINT_TO_USINT - */ - case function_sint_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_usint*/ - break; - -/**** - *SINT_TO_ULINT - */ - case function_sint_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_ulint*/ - break; - -/**** - *SINT_TO_BOOL - */ - case function_sint_to_bool : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_bool*/ - break; - -/**** - *SINT_TO_TIME - */ - case function_sint_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_time*/ - break; - -/**** - *SINT_TO_INT - */ - case function_sint_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_sint_to_int*/ - break; - -/**** - *LINT_TO_REAL - */ - case function_lint_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_real*/ - break; - -/**** - *LINT_TO_SINT - */ - case function_lint_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_sint*/ - break; - -/**** - *LINT_TO_DINT - */ - case function_lint_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_dint*/ - break; - -/**** - *LINT_TO_DATE - */ - case function_lint_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_date*/ - break; - -/**** - *LINT_TO_DWORD - */ - case function_lint_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_dword*/ - break; - -/**** - *LINT_TO_DT - */ - case function_lint_to_dt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_dt*/ - break; - -/**** - *LINT_TO_TOD - */ - case function_lint_to_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_tod*/ - break; - -/**** - *LINT_TO_UDINT - */ - case function_lint_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_udint*/ - break; - -/**** - *LINT_TO_WORD - */ - case function_lint_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_word*/ - break; - -/**** - *LINT_TO_STRING - */ - case function_lint_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__sint_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_string*/ - break; - -/**** - *LINT_TO_LWORD - */ - case function_lint_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_lword*/ - break; - -/**** - *LINT_TO_UINT - */ - case function_lint_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_uint*/ - break; - -/**** - *LINT_TO_LREAL - */ - case function_lint_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_lreal*/ - break; - -/**** - *LINT_TO_BYTE - */ - case function_lint_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_byte*/ - break; - -/**** - *LINT_TO_USINT - */ - case function_lint_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_usint*/ - break; - -/**** - *LINT_TO_ULINT - */ - case function_lint_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_ulint*/ - break; - -/**** - *LINT_TO_BOOL - */ - case function_lint_to_bool : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_bool*/ - break; - -/**** - *LINT_TO_TIME - */ - case function_lint_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_time*/ - break; - -/**** - *LINT_TO_INT - */ - case function_lint_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lint_to_int*/ - break; - -/**** - *DINT_TO_REAL - */ - case function_dint_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_real*/ - break; - -/**** - *DINT_TO_SINT - */ - case function_dint_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_sint*/ - break; - -/**** - *DINT_TO_LINT - */ - case function_dint_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_lint*/ - break; - -/**** - *DINT_TO_DATE - */ - case function_dint_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_date*/ - break; - -/**** - *DINT_TO_DWORD - */ - case function_dint_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_dword*/ - break; - -/**** - *DINT_TO_DT - */ - case function_dint_to_dt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_dt*/ - break; - -/**** - *DINT_TO_TOD - */ - case function_dint_to_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_tod*/ - break; - -/**** - *DINT_TO_UDINT - */ - case function_dint_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_udint*/ - break; - -/**** - *DINT_TO_WORD - */ - case function_dint_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_word*/ - break; - -/**** - *DINT_TO_STRING - */ - case function_dint_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__sint_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_string*/ - break; - -/**** - *DINT_TO_LWORD - */ - case function_dint_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_lword*/ - break; - -/**** - *DINT_TO_UINT - */ - case function_dint_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_uint*/ - break; - -/**** - *DINT_TO_LREAL - */ - case function_dint_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_lreal*/ - break; - -/**** - *DINT_TO_BYTE - */ - case function_dint_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_byte*/ - break; - -/**** - *DINT_TO_USINT - */ - case function_dint_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_usint*/ - break; - -/**** - *DINT_TO_ULINT - */ - case function_dint_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_ulint*/ - break; - -/**** - *DINT_TO_BOOL - */ - case function_dint_to_bool : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_bool*/ - break; - -/**** - *DINT_TO_TIME - */ - case function_dint_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_time*/ - break; - -/**** - *DINT_TO_INT - */ - case function_dint_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dint_to_int*/ - break; - -/**** - *DATE_TO_REAL - */ - case function_date_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_real")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_real*/ - break; - -/**** - *DATE_TO_SINT - */ - case function_date_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_sint*/ - break; - -/**** - *DATE_TO_LINT - */ - case function_date_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_lint*/ - break; - -/**** - *DATE_TO_DINT - */ - case function_date_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_dint*/ - break; - -/**** - *DATE_TO_DWORD - */ - case function_date_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_dword*/ - break; - -/**** - *DATE_TO_UDINT - */ - case function_date_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_udint*/ - break; - -/**** - *DATE_TO_WORD - */ - case function_date_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_word*/ - break; - -/**** - *DATE_TO_STRING - */ - case function_date_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__date_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_string*/ - break; - -/**** - *DATE_TO_LWORD - */ - case function_date_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_lword*/ - break; - -/**** - *DATE_TO_UINT - */ - case function_date_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_uint*/ - break; - -/**** - *DATE_TO_LREAL - */ - case function_date_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_real")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_lreal*/ - break; - -/**** - *DATE_TO_BYTE - */ - case function_date_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_byte*/ - break; - -/**** - *DATE_TO_USINT - */ - case function_date_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_usint*/ - break; - -/**** - *DATE_TO_ULINT - */ - case function_date_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_ulint*/ - break; - -/**** - *DATE_TO_INT - */ - case function_date_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_date_to_int*/ - break; - -/**** - *DWORD_TO_REAL - */ - case function_dword_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_real*/ - break; - -/**** - *DWORD_TO_SINT - */ - case function_dword_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_sint*/ - break; - -/**** - *DWORD_TO_LINT - */ - case function_dword_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_lint*/ - break; - -/**** - *DWORD_TO_DINT - */ - case function_dword_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_dint*/ - break; - -/**** - *DWORD_TO_DATE - */ - case function_dword_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_date*/ - break; - -/**** - *DWORD_TO_DT - */ - case function_dword_to_dt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_dt*/ - break; - -/**** - *DWORD_TO_TOD - */ - case function_dword_to_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_tod*/ - break; - -/**** - *DWORD_TO_UDINT - */ - case function_dword_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_udint*/ - break; - -/**** - *DWORD_TO_WORD - */ - case function_dword_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_word*/ - break; - -/**** - *DWORD_TO_STRING - */ - case function_dword_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__bit_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_string*/ - break; - -/**** - *DWORD_TO_LWORD - */ - case function_dword_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_lword*/ - break; - -/**** - *DWORD_TO_UINT - */ - case function_dword_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_uint*/ - break; - -/**** - *DWORD_TO_LREAL - */ - case function_dword_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_lreal*/ - break; - -/**** - *DWORD_TO_BYTE - */ - case function_dword_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_byte*/ - break; - -/**** - *DWORD_TO_USINT - */ - case function_dword_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_usint*/ - break; - -/**** - *DWORD_TO_ULINT - */ - case function_dword_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_ulint*/ - break; - -/**** - *DWORD_TO_BOOL - */ - case function_dword_to_bool : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_bool*/ - break; - -/**** - *DWORD_TO_TIME - */ - case function_dword_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_time*/ - break; - -/**** - *DWORD_TO_INT - */ - case function_dword_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dword_to_int*/ - break; - -/**** - *DT_TO_REAL - */ - case function_dt_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_real")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_real*/ - break; - -/**** - *DT_TO_SINT - */ - case function_dt_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_sint*/ - break; - -/**** - *DT_TO_LINT - */ - case function_dt_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_lint*/ - break; - -/**** - *DT_TO_DINT - */ - case function_dt_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_dint*/ - break; - -/**** - *DT_TO_DWORD - */ - case function_dt_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_dword*/ - break; - -/**** - *DT_TO_UDINT - */ - case function_dt_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_udint*/ - break; - -/**** - *DT_TO_WORD - */ - case function_dt_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_word*/ - break; - -/**** - *DT_TO_STRING - */ - case function_dt_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__dt_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_string*/ - break; - -/**** - *DT_TO_LWORD - */ - case function_dt_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_lword*/ - break; - -/**** - *DT_TO_UINT - */ - case function_dt_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_uint*/ - break; - -/**** - *DT_TO_LREAL - */ - case function_dt_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_real")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_lreal*/ - break; - -/**** - *DT_TO_BYTE - */ - case function_dt_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_byte*/ - break; - -/**** - *DT_TO_USINT - */ - case function_dt_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_usint*/ - break; - -/**** - *DT_TO_ULINT - */ - case function_dt_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_ulint*/ - break; - -/**** - *DT_TO_INT - */ - case function_dt_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_dt_to_int*/ - break; - -/**** - *TOD_TO_REAL - */ - case function_tod_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_real")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_real*/ - break; - -/**** - *TOD_TO_SINT - */ - case function_tod_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_sint*/ - break; - -/**** - *TOD_TO_LINT - */ - case function_tod_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_lint*/ - break; - -/**** - *TOD_TO_DINT - */ - case function_tod_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_dint*/ - break; - -/**** - *TOD_TO_DWORD - */ - case function_tod_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_dword*/ - break; - -/**** - *TOD_TO_UDINT - */ - case function_tod_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_udint*/ - break; - -/**** - *TOD_TO_WORD - */ - case function_tod_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_word*/ - break; - -/**** - *TOD_TO_STRING - */ - case function_tod_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__tod_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_string*/ - break; - -/**** - *TOD_TO_LWORD - */ - case function_tod_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_lword*/ - break; - -/**** - *TOD_TO_UINT - */ - case function_tod_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_uint*/ - break; - -/**** - *TOD_TO_LREAL - */ - case function_tod_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_real")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_lreal*/ - break; - -/**** - *TOD_TO_BYTE - */ - case function_tod_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_byte*/ - break; - -/**** - *TOD_TO_USINT - */ - case function_tod_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_usint*/ - break; - -/**** - *TOD_TO_ULINT - */ - case function_tod_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_ulint*/ - break; - -/**** - *TOD_TO_INT - */ - case function_tod_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_to_int")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_tod_to_int*/ - break; - -/**** - *UDINT_TO_REAL - */ - case function_udint_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_real*/ - break; - -/**** - *UDINT_TO_SINT - */ - case function_udint_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_sint*/ - break; - -/**** - *UDINT_TO_LINT - */ - case function_udint_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_lint*/ - break; - -/**** - *UDINT_TO_DINT - */ - case function_udint_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_dint*/ - break; - -/**** - *UDINT_TO_DATE - */ - case function_udint_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_date*/ - break; - -/**** - *UDINT_TO_DWORD - */ - case function_udint_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_dword*/ - break; - -/**** - *UDINT_TO_DT - */ - case function_udint_to_dt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_dt*/ - break; - -/**** - *UDINT_TO_TOD - */ - case function_udint_to_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_tod*/ - break; - -/**** - *UDINT_TO_WORD - */ - case function_udint_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_word*/ - break; - -/**** - *UDINT_TO_STRING - */ - case function_udint_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__uint_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_string*/ - break; - -/**** - *UDINT_TO_LWORD - */ - case function_udint_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_lword*/ - break; - -/**** - *UDINT_TO_UINT - */ - case function_udint_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_uint*/ - break; - -/**** - *UDINT_TO_LREAL - */ - case function_udint_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_lreal*/ - break; - -/**** - *UDINT_TO_BYTE - */ - case function_udint_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_byte*/ - break; - -/**** - *UDINT_TO_USINT - */ - case function_udint_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_usint*/ - break; - -/**** - *UDINT_TO_ULINT - */ - case function_udint_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_ulint*/ - break; - -/**** - *UDINT_TO_BOOL - */ - case function_udint_to_bool : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_bool*/ - break; - -/**** - *UDINT_TO_TIME - */ - case function_udint_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_time*/ - break; - -/**** - *UDINT_TO_INT - */ - case function_udint_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_udint_to_int*/ - break; - -/**** - *WORD_TO_REAL - */ - case function_word_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_real*/ - break; - -/**** - *WORD_TO_SINT - */ - case function_word_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_sint*/ - break; - -/**** - *WORD_TO_LINT - */ - case function_word_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_lint*/ - break; - -/**** - *WORD_TO_DINT - */ - case function_word_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_dint*/ - break; - -/**** - *WORD_TO_DATE - */ - case function_word_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_date*/ - break; - -/**** - *WORD_TO_DWORD - */ - case function_word_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_dword*/ - break; - -/**** - *WORD_TO_DT - */ - case function_word_to_dt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_dt*/ - break; - -/**** - *WORD_TO_TOD - */ - case function_word_to_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_tod*/ - break; - -/**** - *WORD_TO_UDINT - */ - case function_word_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_udint*/ - break; - -/**** - *WORD_TO_STRING - */ - case function_word_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__bit_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_string*/ - break; - -/**** - *WORD_TO_LWORD - */ - case function_word_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_lword*/ - break; - -/**** - *WORD_TO_UINT - */ - case function_word_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_uint*/ - break; - -/**** - *WORD_TO_LREAL - */ - case function_word_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_lreal*/ - break; - -/**** - *WORD_TO_BYTE - */ - case function_word_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_byte*/ - break; - -/**** - *WORD_TO_USINT - */ - case function_word_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_usint*/ - break; - -/**** - *WORD_TO_ULINT - */ - case function_word_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_ulint*/ - break; - -/**** - *WORD_TO_BOOL - */ - case function_word_to_bool : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_bool*/ - break; - -/**** - *WORD_TO_TIME - */ - case function_word_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_time*/ - break; - -/**** - *WORD_TO_INT - */ - case function_word_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_word_to_int*/ - break; - -/**** - *STRING_TO_REAL - */ - case function_string_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_real")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_real*/ - break; - -/**** - *STRING_TO_SINT - */ - case function_string_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_sint")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_sint*/ - break; - -/**** - *STRING_TO_LINT - */ - case function_string_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_sint")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_lint*/ - break; - -/**** - *STRING_TO_DINT - */ - case function_string_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_sint")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_dint*/ - break; - -/**** - *STRING_TO_DATE - */ - case function_string_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_date*/ - break; - -/**** - *STRING_TO_DWORD - */ - case function_string_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_bit")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_dword*/ - break; - -/**** - *STRING_TO_DT - */ - case function_string_to_dt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_dt*/ - break; - -/**** - *STRING_TO_TOD - */ - case function_string_to_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_tod*/ - break; - -/**** - *STRING_TO_UDINT - */ - case function_string_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_uint")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_udint*/ - break; - -/**** - *STRING_TO_WORD - */ - case function_string_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_bit")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_word*/ - break; - -/**** - *STRING_TO_LWORD - */ - case function_string_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_bit")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_lword*/ - break; - -/**** - *STRING_TO_UINT - */ - case function_string_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_uint")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_uint*/ - break; - -/**** - *STRING_TO_LREAL - */ - case function_string_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_real")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_lreal*/ - break; - -/**** - *STRING_TO_BYTE - */ - case function_string_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_bit")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_byte*/ - break; - -/**** - *STRING_TO_USINT - */ - case function_string_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_uint")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_usint*/ - break; - -/**** - *STRING_TO_ULINT - */ - case function_string_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_uint")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_ulint*/ - break; - -/**** - *STRING_TO_BOOL - */ - case function_string_to_bool : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_bool")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_bool*/ - break; - -/**** - *STRING_TO_TIME - */ - case function_string_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_time*/ - break; - -/**** - *STRING_TO_INT - */ - case function_string_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__string_to_sint")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_string_to_int*/ - break; - -/**** - *LWORD_TO_REAL - */ - case function_lword_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_real*/ - break; - -/**** - *LWORD_TO_SINT - */ - case function_lword_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_sint*/ - break; - -/**** - *LWORD_TO_LINT - */ - case function_lword_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_lint*/ - break; - -/**** - *LWORD_TO_DINT - */ - case function_lword_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_dint*/ - break; - -/**** - *LWORD_TO_DATE - */ - case function_lword_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_date*/ - break; - -/**** - *LWORD_TO_DWORD - */ - case function_lword_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_dword*/ - break; - -/**** - *LWORD_TO_DT - */ - case function_lword_to_dt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_dt*/ - break; - -/**** - *LWORD_TO_TOD - */ - case function_lword_to_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_tod*/ - break; - -/**** - *LWORD_TO_UDINT - */ - case function_lword_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_udint*/ - break; - -/**** - *LWORD_TO_WORD - */ - case function_lword_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_word*/ - break; - -/**** - *LWORD_TO_STRING - */ - case function_lword_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__bit_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_string*/ - break; - -/**** - *LWORD_TO_UINT - */ - case function_lword_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_uint*/ - break; - -/**** - *LWORD_TO_LREAL - */ - case function_lword_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_lreal*/ - break; - -/**** - *LWORD_TO_BYTE - */ - case function_lword_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_byte*/ - break; - -/**** - *LWORD_TO_USINT - */ - case function_lword_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_usint*/ - break; - -/**** - *LWORD_TO_ULINT - */ - case function_lword_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_ulint*/ - break; - -/**** - *LWORD_TO_BOOL - */ - case function_lword_to_bool : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_bool*/ - break; - -/**** - *LWORD_TO_TIME - */ - case function_lword_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_time*/ - break; - -/**** - *LWORD_TO_INT - */ - case function_lword_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lword_to_int*/ - break; - -/**** - *UINT_TO_REAL - */ - case function_uint_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_real*/ - break; - -/**** - *UINT_TO_SINT - */ - case function_uint_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_sint*/ - break; - -/**** - *UINT_TO_LINT - */ - case function_uint_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_lint*/ - break; - -/**** - *UINT_TO_DINT - */ - case function_uint_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_dint*/ - break; - -/**** - *UINT_TO_DATE - */ - case function_uint_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_date*/ - break; - -/**** - *UINT_TO_DWORD - */ - case function_uint_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_dword*/ - break; - -/**** - *UINT_TO_DT - */ - case function_uint_to_dt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_dt*/ - break; - -/**** - *UINT_TO_TOD - */ - case function_uint_to_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_tod*/ - break; - -/**** - *UINT_TO_UDINT - */ - case function_uint_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_udint*/ - break; - -/**** - *UINT_TO_WORD - */ - case function_uint_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_word*/ - break; - -/**** - *UINT_TO_STRING - */ - case function_uint_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__uint_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_string*/ - break; - -/**** - *UINT_TO_LWORD - */ - case function_uint_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_lword*/ - break; - -/**** - *UINT_TO_LREAL - */ - case function_uint_to_lreal : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_lreal*/ - break; - -/**** - *UINT_TO_BYTE - */ - case function_uint_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_byte*/ - break; - -/**** - *UINT_TO_USINT - */ - case function_uint_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_usint*/ - break; - -/**** - *UINT_TO_ULINT - */ - case function_uint_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_ulint*/ - break; - -/**** - *UINT_TO_BOOL - */ - case function_uint_to_bool : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_bool*/ - break; - -/**** - *UINT_TO_TIME - */ - case function_uint_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__int_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_time*/ - break; - -/**** - *UINT_TO_INT - */ - case function_uint_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_uint_to_int*/ - break; - -/**** - *LREAL_TO_REAL - */ - case function_lreal_to_real : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_real*/ - break; - -/**** - *LREAL_TO_SINT - */ - case function_lreal_to_sint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_sint*/ - break; - -/**** - *LREAL_TO_LINT - */ - case function_lreal_to_lint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_lint*/ - break; - -/**** - *LREAL_TO_DINT - */ - case function_lreal_to_dint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_dint*/ - break; - -/**** - *LREAL_TO_DATE - */ - case function_lreal_to_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__real_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_date*/ - break; - -/**** - *LREAL_TO_DWORD - */ - case function_lreal_to_dword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_dword*/ - break; - -/**** - *LREAL_TO_DT - */ - case function_lreal_to_dt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__real_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_dt*/ - break; - -/**** - *LREAL_TO_TOD - */ - case function_lreal_to_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__real_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_tod*/ - break; - -/**** - *LREAL_TO_UDINT - */ - case function_lreal_to_udint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_udint*/ - break; - -/**** - *LREAL_TO_WORD - */ - case function_lreal_to_word : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_word*/ - break; - -/**** - *LREAL_TO_STRING - */ - case function_lreal_to_string : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__real_to_string")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_string*/ - break; - -/**** - *LREAL_TO_LWORD - */ - case function_lreal_to_lword : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_lword*/ - break; - -/**** - *LREAL_TO_UINT - */ - case function_lreal_to_uint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_uint*/ - break; - -/**** - *LREAL_TO_BYTE - */ - case function_lreal_to_byte : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_byte*/ - break; - -/**** - *LREAL_TO_USINT - */ - case function_lreal_to_usint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_usint*/ - break; - -/**** - *LREAL_TO_ULINT - */ - case function_lreal_to_ulint : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_ulint*/ - break; - -/**** - *LREAL_TO_BOOL - */ - case function_lreal_to_bool : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_bool*/ - break; - -/**** - *LREAL_TO_TIME - */ - case function_lreal_to_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__real_to_time")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - function_type_prefix = return_type_symbol; - break; - - } - - - ERROR; - } - - }/*function_lreal_to_time*/ - break; - -/**** - *LREAL_TO_INT - */ - case function_lreal_to_int : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; - function_type_prefix = return_type_symbol; - function_type_suffix = IN_type_symbol; break; } @@ -16690,210 +16664,6 @@ break; /**** - *ADD_TIME - */ - case function_add_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_add")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_add_time*/ - break; - -/**** - *ADD_TOD_TIME - */ - case function_add_tod_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_add")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_add_tod_time*/ - break; - -/**** - *ADD_DT_TIME - */ - case function_add_dt_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_add")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_add_dt_time*/ - break; - -/**** *MUL */ case function_mul : @@ -17036,6 +16806,768 @@ break; /**** + *SUB + */ + case function_sub : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__sub_")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = last_type_symbol; + function_type_suffix = return_type_symbol; + break; + + } + + + ERROR; + } + + } + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + + + ERROR; + } + + } + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + break; + + } + + + ERROR; + } + + } + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + break; + + } + + + ERROR; + } + + } + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + + + ERROR; + } + + } + + + ERROR; + } + + }/*function_sub*/ + break; + +/**** + *DIV + */ + case function_div : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__div_")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = last_type_symbol; + function_type_suffix = return_type_symbol; + break; + + } + + + ERROR; + } + + } + + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_div")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + if (search_expression_type->is_literal_integer_type(function_type_suffix)) + function_type_suffix = &search_constant_type_c::lint_type_name; + break; + + } + + + ERROR; + } + + } + + + ERROR; + } + + }/*function_div*/ + break; + +/**** + *MOD + */ + case function_mod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__mod_")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = last_type_symbol; + function_type_suffix = return_type_symbol; + break; + + } + + + ERROR; + } + + } + + + ERROR; + } + + }/*function_mod*/ + break; + +/**** + *EXPT + */ + case function_expt : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__expt_")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = last_type_symbol; + function_type_suffix = IN1_type_symbol; + break; + + } + + + ERROR; + } + + } + + + ERROR; + } + + }/*function_expt*/ + break; + +/**** + *MOVE + */ + case function_move : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); + symbol_c *IN_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN_param_value == NULL) + IN_param_value = function_call_param_iterator.next_nf(); + if (IN_param_value != NULL) { + IN_type_symbol = search_expression_type->get_type(IN_param_value); + last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; + } + + + { + + function_name = (symbol_c*)(new pragma_c("__move_")); + + if (IN_type_symbol == NULL) + IN_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = last_type_symbol; + function_type_suffix = return_type_symbol; + if (search_expression_type->is_literal_integer_type(function_type_suffix)) + function_type_suffix = &search_constant_type_c::lint_type_name; + else if (search_expression_type->is_literal_real_type(function_type_suffix)) + function_type_suffix = &search_constant_type_c::lreal_type_name; + break; + + } + + + ERROR; + } + + }/*function_move*/ + break; + +/**** + *ADD_TIME + */ + case function_add_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_add")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + + + ERROR; + } + + } + + + ERROR; + } + + }/*function_add_time*/ + break; + +/**** + *ADD_TOD_TIME + */ + case function_add_tod_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_add")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + break; + + } + + + ERROR; + } + + } + + + ERROR; + } + + }/*function_add_tod_time*/ + break; + +/**** + *ADD_DT_TIME + */ + case function_add_dt_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_add")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; + break; + + } + + + ERROR; + } + + } + + + ERROR; + } + + }/*function_add_dt_time*/ + break; + +/**** *MULTIME */ case function_multime : @@ -17106,9 +17638,9 @@ break; /**** - *SUB - */ - case function_sub : + *SUB_TIME + */ + case function_sub_time : { symbol_c *last_type_symbol = NULL; @@ -17126,7 +17658,7 @@ last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) + if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { { @@ -17143,48 +17675,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__sub_")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = last_type_symbol; - function_type_suffix = return_type_symbol; - break; - - } - - - ERROR; - } - - } - - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); @@ -17207,7 +17698,35 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + + ERROR; + } + + }/*function_sub_time*/ + break; + +/**** + *SUB_DATE_DATE + */ + case function_sub_date_date : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { { @@ -17224,7 +17743,7 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) { function_name = (symbol_c*)(new pragma_c("__time_sub")); @@ -17241,6 +17760,210 @@ } + + ERROR; + } + + } + + + ERROR; + } + + }/*function_sub_date_date*/ + break; + +/**** + *SUB_TOD_TIME + */ + case function_sub_tod_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; + break; + + } + + + ERROR; + } + + } + + + ERROR; + } + + }/*function_sub_tod_time*/ + break; + +/**** + *SUB_TOD_TOD + */ + case function_sub_tod_tod : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + + + ERROR; + } + + } + + + ERROR; + } + + }/*function_sub_tod_tod*/ + break; + +/**** + *SUB_DT_TIME + */ + case function_sub_dt_time : + { + symbol_c *last_type_symbol = NULL; + + { + symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); + symbol_c *IN1_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN1_param_value == NULL) + IN1_param_value = function_call_param_iterator.next_nf(); + if (IN1_param_value != NULL) { + IN1_type_symbol = search_expression_type->get_type(IN1_param_value); + last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + { + symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); + /* Get the value from a foo( = ) style call */ + symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); + symbol_c *IN2_type_symbol = NULL; + + /* Get the value from a foo() style call */ + if (IN2_param_value == NULL) + IN2_param_value = function_call_param_iterator.next_nf(); + if (IN2_param_value != NULL) { + IN2_type_symbol = search_expression_type->get_type(IN2_param_value); + last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) + { + + function_name = (symbol_c*)(new pragma_c("__time_sub")); + + if (IN1_type_symbol == NULL) + IN1_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) + + if (IN2_type_symbol == NULL) + IN2_type_symbol = last_type_symbol; + ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) + symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; + break; + + } + if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) { @@ -17264,114 +17987,17 @@ } - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - break; - - } - - if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - break; - - } - - - ERROR; - } - - } - - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_sub*/ - break; - -/**** - *SUB_TIME - */ - case function_sub_time : + + ERROR; + } + + }/*function_sub_dt_time*/ + break; + +/**** + *DIVTIME + */ + case function_divtime : { symbol_c *last_type_symbol = NULL; @@ -17406,404 +18032,6 @@ last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_sub_time*/ - break; - -/**** - *SUB_DATE_DATE - */ - case function_sub_date_date : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_sub_date_date*/ - break; - -/**** - *SUB_TOD_TIME - */ - case function_sub_tod_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_sub_tod_time*/ - break; - -/**** - *SUB_TOD_TOD - */ - case function_sub_tod_tod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_sub_tod_tod*/ - break; - -/**** - *SUB_DT_TIME - */ - case function_sub_dt_time : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - break; - - } - - if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_sub")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_sub_dt_time*/ - break; - -/**** - *DIV - */ - case function_div : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__div_")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = last_type_symbol; - function_type_suffix = return_type_symbol; - break; - - } - - - ERROR; - } - - } - - if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) { @@ -17833,264 +18061,10 @@ ERROR; } - }/*function_div*/ - break; - -/**** - *DIVTIME - */ - case function_divtime : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__time_div")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; - if (search_expression_type->is_literal_integer_type(function_type_suffix)) - function_type_suffix = &search_constant_type_c::lint_type_name; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - }/*function_divtime*/ break; /**** - *MOD - */ - case function_mod : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__mod_")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = last_type_symbol; - function_type_suffix = return_type_symbol; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_mod*/ - break; - -/**** - *EXPT - */ - case function_expt : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN1_param_name = (symbol_c *)(new identifier_c("IN1")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN1_param_value = function_call_param_iterator.search_f(IN1_param_name); - symbol_c *IN1_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN1_param_value == NULL) - IN1_param_value = function_call_param_iterator.next_nf(); - if (IN1_param_value != NULL) { - IN1_type_symbol = search_expression_type->get_type(IN1_param_value); - last_type_symbol = last_type_symbol && IN1_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(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol)) - { - - { - symbol_c *IN2_param_name = (symbol_c *)(new identifier_c("IN2")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN2_param_value = function_call_param_iterator.search_f(IN2_param_name); - symbol_c *IN2_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN2_param_value == NULL) - IN2_param_value = function_call_param_iterator.next_nf(); - if (IN2_param_value != NULL) { - IN2_type_symbol = search_expression_type->get_type(IN2_param_value); - last_type_symbol = last_type_symbol && IN2_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(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) - { - - function_name = (symbol_c*)(new pragma_c("__expt_")); - - if (IN1_type_symbol == NULL) - IN1_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN1_param_name, IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) - - if (IN2_type_symbol == NULL) - IN2_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN2_param_name, IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = last_type_symbol; - function_type_suffix = IN1_type_symbol; - break; - - } - - - ERROR; - } - - } - - - ERROR; - } - - }/*function_expt*/ - break; - -/**** - *MOVE - */ - case function_move : - { - symbol_c *last_type_symbol = NULL; - - { - symbol_c *IN_param_name = (symbol_c *)(new identifier_c("IN")); - /* Get the value from a foo( = ) style call */ - symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name); - symbol_c *IN_type_symbol = NULL; - - /* Get the value from a foo() style call */ - if (IN_param_value == NULL) - IN_param_value = function_call_param_iterator.next_nf(); - if (IN_param_value != NULL) { - IN_type_symbol = search_expression_type->get_type(IN_param_value); - last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; - } - - - { - - function_name = (symbol_c*)(new pragma_c("__move_")); - - if (IN_type_symbol == NULL) - IN_type_symbol = last_type_symbol; - ADD_PARAM_LIST(IN_param_name, IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) - symbol_c * return_type_symbol = last_type_symbol; - function_type_suffix = return_type_symbol; - if (search_expression_type->is_literal_integer_type(function_type_suffix)) - function_type_suffix = &search_constant_type_c::lint_type_name; - else if (search_expression_type->is_literal_real_type(function_type_suffix)) - function_type_suffix = &search_constant_type_c::lreal_type_name; - break; - - } - - - ERROR; - } - - }/*function_move*/ - break; - -/**** *SHL */ case function_shl :