--- 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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
+ symbol_c *IN_type_symbol = NULL;
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next_nf();
+ if (IN_param_value != NULL) {
+ IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) 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(<param_value>) 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(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search_f(IN_param_name);
- symbol_c *IN_type_symbol = NULL;
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next_nf();
- if (IN_param_value != NULL) {
- IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_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 :