lbessard@70: /* lbessard@149: * (c) 2008 Edouard TISSERANT lbessard@70: * lbessard@70: * Offered to the public under the terms of the GNU General Public License lbessard@70: * as published by the Free Software Foundation; either version 2 of the lbessard@70: * License, or (at your option) any later version. lbessard@70: * lbessard@70: * This program is distributed in the hope that it will be useful, but lbessard@70: * WITHOUT ANY WARRANTY; without even the implied warranty of lbessard@70: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General lbessard@70: * Public License for more details. lbessard@70: * lbessard@70: * This code is made available on the understanding that it will not be lbessard@70: * used in safety-critical situations without a full and competent review. lbessard@70: */ lbessard@70: lbessard@70: /* lbessard@70: * An IEC 61131-3 IL and ST compiler. lbessard@70: * lbessard@70: * Based on the lbessard@70: * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10) lbessard@70: * lbessard@70: */ lbessard@149: lbessard@149: /**** lbessard@149: * IEC 61131-3 standard function library lbessard@149: * generated code, do not edit by hand lbessard@149: */ lbessard@70: lbessard@70: lbessard@70: switch(current_function_type){ lbessard@70: lbessard@70: /**** lbessard@149: *REAL_TO_SINT lbessard@149: */ lbessard@149: case function_real_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_LINT lbessard@149: */ lbessard@149: case function_real_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_DINT lbessard@149: */ lbessard@149: case function_real_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_DATE lbessard@149: */ lbessard@149: case function_real_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__real_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_DWORD lbessard@149: */ lbessard@149: case function_real_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_DT lbessard@149: */ lbessard@149: case function_real_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__real_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_TOD lbessard@149: */ lbessard@149: case function_real_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__real_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_UDINT lbessard@149: */ lbessard@149: case function_real_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_WORD lbessard@149: */ lbessard@149: case function_real_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_STRING lbessard@149: */ lbessard@149: case function_real_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__real_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_LWORD lbessard@149: */ lbessard@149: case function_real_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_UINT lbessard@149: */ lbessard@149: case function_real_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_LREAL lbessard@149: */ lbessard@149: case function_real_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_BYTE lbessard@149: */ lbessard@149: case function_real_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_USINT lbessard@149: */ lbessard@149: case function_real_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_ULINT lbessard@149: */ lbessard@149: case function_real_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_BOOL lbessard@149: */ lbessard@149: case function_real_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_TIME lbessard@149: */ lbessard@149: case function_real_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__real_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *REAL_TO_INT lbessard@149: */ lbessard@149: case function_real_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_real_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_REAL lbessard@149: */ lbessard@149: case function_sint_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_LINT lbessard@149: */ lbessard@149: case function_sint_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_DINT lbessard@149: */ lbessard@149: case function_sint_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_DATE lbessard@149: */ lbessard@149: case function_sint_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_DWORD lbessard@149: */ lbessard@149: case function_sint_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_DT lbessard@149: */ lbessard@149: case function_sint_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_TOD lbessard@149: */ lbessard@149: case function_sint_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_UDINT lbessard@149: */ lbessard@149: case function_sint_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_WORD lbessard@149: */ lbessard@149: case function_sint_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_STRING lbessard@149: */ lbessard@149: case function_sint_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__sint_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_LWORD lbessard@149: */ lbessard@149: case function_sint_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_UINT lbessard@149: */ lbessard@149: case function_sint_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_LREAL lbessard@149: */ lbessard@149: case function_sint_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_BYTE lbessard@149: */ lbessard@149: case function_sint_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_USINT lbessard@149: */ lbessard@149: case function_sint_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_ULINT lbessard@149: */ lbessard@149: case function_sint_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_BOOL lbessard@149: */ lbessard@149: case function_sint_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_TIME lbessard@149: */ lbessard@149: case function_sint_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SINT_TO_INT lbessard@149: */ lbessard@149: case function_sint_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sint_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_REAL lbessard@149: */ lbessard@149: case function_lint_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_SINT lbessard@149: */ lbessard@149: case function_lint_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_DINT lbessard@149: */ lbessard@149: case function_lint_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_DATE lbessard@149: */ lbessard@149: case function_lint_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_DWORD lbessard@149: */ lbessard@149: case function_lint_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_DT lbessard@149: */ lbessard@149: case function_lint_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_TOD lbessard@149: */ lbessard@149: case function_lint_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_UDINT lbessard@149: */ lbessard@149: case function_lint_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_WORD lbessard@149: */ lbessard@149: case function_lint_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_STRING lbessard@149: */ lbessard@149: case function_lint_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__sint_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_LWORD lbessard@149: */ lbessard@149: case function_lint_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_UINT lbessard@149: */ lbessard@149: case function_lint_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_LREAL lbessard@149: */ lbessard@149: case function_lint_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_BYTE lbessard@149: */ lbessard@149: case function_lint_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_USINT lbessard@149: */ lbessard@149: case function_lint_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_ULINT lbessard@149: */ lbessard@149: case function_lint_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_BOOL lbessard@149: */ lbessard@149: case function_lint_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_TIME lbessard@149: */ lbessard@149: case function_lint_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LINT_TO_INT lbessard@149: */ lbessard@149: case function_lint_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lint_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_REAL lbessard@149: */ lbessard@149: case function_dint_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_SINT lbessard@149: */ lbessard@149: case function_dint_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_LINT lbessard@149: */ lbessard@149: case function_dint_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_DATE lbessard@149: */ lbessard@149: case function_dint_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_DWORD lbessard@149: */ lbessard@149: case function_dint_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_DT lbessard@149: */ lbessard@149: case function_dint_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_TOD lbessard@149: */ lbessard@149: case function_dint_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_UDINT lbessard@149: */ lbessard@149: case function_dint_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_WORD lbessard@149: */ lbessard@149: case function_dint_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_STRING lbessard@149: */ lbessard@149: case function_dint_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__sint_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_LWORD lbessard@149: */ lbessard@149: case function_dint_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_UINT lbessard@149: */ lbessard@149: case function_dint_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_LREAL lbessard@149: */ lbessard@149: case function_dint_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_BYTE lbessard@149: */ lbessard@149: case function_dint_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_USINT lbessard@149: */ lbessard@149: case function_dint_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_ULINT lbessard@149: */ lbessard@149: case function_dint_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_BOOL lbessard@149: */ lbessard@149: case function_dint_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_TIME lbessard@149: */ lbessard@149: case function_dint_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DINT_TO_INT lbessard@149: */ lbessard@149: case function_dint_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dint_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_REAL lbessard@149: */ lbessard@149: case function_date_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_real")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_SINT lbessard@149: */ lbessard@149: case function_date_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_LINT lbessard@149: */ lbessard@149: case function_date_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_DINT lbessard@149: */ lbessard@149: case function_date_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_DWORD lbessard@149: */ lbessard@149: case function_date_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_UDINT lbessard@149: */ lbessard@149: case function_date_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_WORD lbessard@149: */ lbessard@149: case function_date_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_STRING lbessard@149: */ lbessard@149: case function_date_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__date_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_LWORD lbessard@149: */ lbessard@149: case function_date_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_UINT lbessard@149: */ lbessard@149: case function_date_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_LREAL lbessard@149: */ lbessard@149: case function_date_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_real")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_BYTE lbessard@149: */ lbessard@149: case function_date_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_USINT lbessard@149: */ lbessard@149: case function_date_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_ULINT lbessard@149: */ lbessard@149: case function_date_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_TO_INT lbessard@149: */ lbessard@149: case function_date_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_REAL lbessard@149: */ lbessard@149: case function_dword_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_SINT lbessard@149: */ lbessard@149: case function_dword_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_LINT lbessard@149: */ lbessard@149: case function_dword_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_DINT lbessard@149: */ lbessard@149: case function_dword_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_DATE lbessard@149: */ lbessard@149: case function_dword_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_DT lbessard@149: */ lbessard@149: case function_dword_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_TOD lbessard@149: */ lbessard@149: case function_dword_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_UDINT lbessard@149: */ lbessard@149: case function_dword_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_WORD lbessard@149: */ lbessard@149: case function_dword_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_STRING lbessard@149: */ lbessard@149: case function_dword_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__bit_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_LWORD lbessard@149: */ lbessard@149: case function_dword_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_UINT lbessard@149: */ lbessard@149: case function_dword_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_LREAL lbessard@149: */ lbessard@149: case function_dword_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_BYTE lbessard@149: */ lbessard@149: case function_dword_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_USINT lbessard@149: */ lbessard@149: case function_dword_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_ULINT lbessard@149: */ lbessard@149: case function_dword_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_BOOL lbessard@149: */ lbessard@149: case function_dword_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_TIME lbessard@149: */ lbessard@149: case function_dword_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DWORD_TO_INT lbessard@149: */ lbessard@149: case function_dword_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dword_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_REAL lbessard@149: */ lbessard@149: case function_dt_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_real")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_SINT lbessard@149: */ lbessard@149: case function_dt_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_LINT lbessard@149: */ lbessard@149: case function_dt_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_DINT lbessard@149: */ lbessard@149: case function_dt_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_DWORD lbessard@149: */ lbessard@149: case function_dt_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_UDINT lbessard@149: */ lbessard@149: case function_dt_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_WORD lbessard@149: */ lbessard@149: case function_dt_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_STRING lbessard@149: */ lbessard@149: case function_dt_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__dt_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_LWORD lbessard@149: */ lbessard@149: case function_dt_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_UINT lbessard@149: */ lbessard@149: case function_dt_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_LREAL lbessard@149: */ lbessard@149: case function_dt_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_real")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_BYTE lbessard@149: */ lbessard@149: case function_dt_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_USINT lbessard@149: */ lbessard@149: case function_dt_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_ULINT lbessard@149: */ lbessard@149: case function_dt_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DT_TO_INT lbessard@149: */ lbessard@149: case function_dt_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_dt_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_REAL lbessard@149: */ lbessard@149: case function_tod_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_real")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_SINT lbessard@149: */ lbessard@149: case function_tod_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_LINT lbessard@149: */ lbessard@149: case function_tod_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_DINT lbessard@149: */ lbessard@149: case function_tod_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_DWORD lbessard@149: */ lbessard@149: case function_tod_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_UDINT lbessard@149: */ lbessard@149: case function_tod_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_WORD lbessard@149: */ lbessard@149: case function_tod_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_STRING lbessard@149: */ lbessard@149: case function_tod_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__tod_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_LWORD lbessard@149: */ lbessard@149: case function_tod_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_UINT lbessard@149: */ lbessard@149: case function_tod_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_LREAL lbessard@149: */ lbessard@149: case function_tod_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_real")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_BYTE lbessard@149: */ lbessard@149: case function_tod_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_USINT lbessard@149: */ lbessard@149: case function_tod_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_ULINT lbessard@149: */ lbessard@149: case function_tod_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TOD_TO_INT lbessard@149: */ lbessard@149: case function_tod_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tod_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_REAL lbessard@149: */ lbessard@149: case function_udint_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_SINT lbessard@149: */ lbessard@149: case function_udint_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_LINT lbessard@149: */ lbessard@149: case function_udint_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_DINT lbessard@149: */ lbessard@149: case function_udint_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_DATE lbessard@149: */ lbessard@149: case function_udint_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_DWORD lbessard@149: */ lbessard@149: case function_udint_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_DT lbessard@149: */ lbessard@149: case function_udint_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_TOD lbessard@149: */ lbessard@149: case function_udint_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_WORD lbessard@149: */ lbessard@149: case function_udint_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_STRING lbessard@149: */ lbessard@149: case function_udint_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__uint_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_LWORD lbessard@149: */ lbessard@149: case function_udint_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_UINT lbessard@149: */ lbessard@149: case function_udint_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_LREAL lbessard@149: */ lbessard@149: case function_udint_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_BYTE lbessard@149: */ lbessard@149: case function_udint_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_USINT lbessard@149: */ lbessard@149: case function_udint_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_ULINT lbessard@149: */ lbessard@149: case function_udint_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_BOOL lbessard@149: */ lbessard@149: case function_udint_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_TIME lbessard@149: */ lbessard@149: case function_udint_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_INT lbessard@149: */ lbessard@149: case function_udint_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_REAL lbessard@149: */ lbessard@149: case function_word_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_SINT lbessard@149: */ lbessard@149: case function_word_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_LINT lbessard@149: */ lbessard@149: case function_word_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_DINT lbessard@149: */ lbessard@149: case function_word_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_DATE lbessard@149: */ lbessard@149: case function_word_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_DWORD lbessard@149: */ lbessard@149: case function_word_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_DT lbessard@149: */ lbessard@149: case function_word_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_TOD lbessard@149: */ lbessard@149: case function_word_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_UDINT lbessard@149: */ lbessard@149: case function_word_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_STRING lbessard@149: */ lbessard@149: case function_word_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__bit_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_LWORD lbessard@149: */ lbessard@149: case function_word_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_UINT lbessard@149: */ lbessard@149: case function_word_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_LREAL lbessard@149: */ lbessard@149: case function_word_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_BYTE lbessard@149: */ lbessard@149: case function_word_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_USINT lbessard@149: */ lbessard@149: case function_word_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_ULINT lbessard@149: */ lbessard@149: case function_word_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_BOOL lbessard@149: */ lbessard@149: case function_word_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_TIME lbessard@149: */ lbessard@149: case function_word_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *WORD_TO_INT lbessard@149: */ lbessard@149: case function_word_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_word_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_REAL lbessard@149: */ lbessard@149: case function_string_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_real")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_SINT lbessard@149: */ lbessard@149: case function_string_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_sint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_LINT lbessard@149: */ lbessard@149: case function_string_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_sint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_DINT lbessard@149: */ lbessard@149: case function_string_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_sint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_DATE lbessard@149: */ lbessard@149: case function_string_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_DWORD lbessard@149: */ lbessard@149: case function_string_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_bit")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_DT lbessard@149: */ lbessard@149: case function_string_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_TOD lbessard@149: */ lbessard@149: case function_string_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_UDINT lbessard@149: */ lbessard@149: case function_string_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_uint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_WORD lbessard@149: */ lbessard@149: case function_string_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_bit")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_LWORD lbessard@149: */ lbessard@149: case function_string_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_bit")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_UINT lbessard@149: */ lbessard@149: case function_string_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_uint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_LREAL lbessard@149: */ lbessard@149: case function_string_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_real")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_BYTE lbessard@149: */ lbessard@149: case function_string_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_bit")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_USINT lbessard@149: */ lbessard@149: case function_string_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_uint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_ULINT lbessard@149: */ lbessard@149: case function_string_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_uint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_BOOL lbessard@149: */ lbessard@149: case function_string_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_bool")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_TIME lbessard@149: */ lbessard@149: case function_string_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *STRING_TO_INT lbessard@149: */ lbessard@149: case function_string_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__string_to_sint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_string_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_REAL lbessard@149: */ lbessard@149: case function_lword_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_SINT lbessard@149: */ lbessard@149: case function_lword_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_LINT lbessard@149: */ lbessard@149: case function_lword_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_DINT lbessard@149: */ lbessard@149: case function_lword_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_DATE lbessard@149: */ lbessard@149: case function_lword_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_DWORD lbessard@149: */ lbessard@149: case function_lword_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_DT lbessard@149: */ lbessard@149: case function_lword_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_TOD lbessard@149: */ lbessard@149: case function_lword_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_UDINT lbessard@149: */ lbessard@149: case function_lword_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_WORD lbessard@149: */ lbessard@149: case function_lword_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_STRING lbessard@149: */ lbessard@149: case function_lword_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__bit_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_UINT lbessard@149: */ lbessard@149: case function_lword_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_LREAL lbessard@149: */ lbessard@149: case function_lword_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_BYTE lbessard@149: */ lbessard@149: case function_lword_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_USINT lbessard@149: */ lbessard@149: case function_lword_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_ULINT lbessard@149: */ lbessard@149: case function_lword_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_BOOL lbessard@149: */ lbessard@149: case function_lword_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_TIME lbessard@149: */ lbessard@149: case function_lword_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LWORD_TO_INT lbessard@149: */ lbessard@149: case function_lword_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lword_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_REAL lbessard@149: */ lbessard@149: case function_uint_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_SINT lbessard@149: */ lbessard@149: case function_uint_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_LINT lbessard@149: */ lbessard@149: case function_uint_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_DINT lbessard@149: */ lbessard@149: case function_uint_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_DATE lbessard@149: */ lbessard@149: case function_uint_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_DWORD lbessard@149: */ lbessard@149: case function_uint_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_DT lbessard@149: */ lbessard@149: case function_uint_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_TOD lbessard@149: */ lbessard@149: case function_uint_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_UDINT lbessard@149: */ lbessard@149: case function_uint_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_WORD lbessard@149: */ lbessard@149: case function_uint_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_STRING lbessard@149: */ lbessard@149: case function_uint_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__uint_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_LWORD lbessard@149: */ lbessard@149: case function_uint_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_LREAL lbessard@149: */ lbessard@149: case function_uint_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_BYTE lbessard@149: */ lbessard@149: case function_uint_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_USINT lbessard@149: */ lbessard@149: case function_uint_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_ULINT lbessard@149: */ lbessard@149: case function_uint_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_BOOL lbessard@149: */ lbessard@149: case function_uint_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_TIME lbessard@149: */ lbessard@149: case function_uint_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_INT lbessard@149: */ lbessard@149: case function_uint_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_REAL lbessard@149: */ lbessard@149: case function_lreal_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_SINT lbessard@149: */ lbessard@149: case function_lreal_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_LINT lbessard@149: */ lbessard@149: case function_lreal_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_DINT lbessard@149: */ lbessard@149: case function_lreal_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_DATE lbessard@149: */ lbessard@149: case function_lreal_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__real_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_DWORD lbessard@149: */ lbessard@149: case function_lreal_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_DT lbessard@149: */ lbessard@149: case function_lreal_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__real_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_TOD lbessard@149: */ lbessard@149: case function_lreal_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__real_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_UDINT lbessard@149: */ lbessard@149: case function_lreal_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_WORD lbessard@149: */ lbessard@149: case function_lreal_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_STRING lbessard@149: */ lbessard@149: case function_lreal_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__real_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_LWORD lbessard@149: */ lbessard@149: case function_lreal_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_UINT lbessard@149: */ lbessard@149: case function_lreal_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_BYTE lbessard@149: */ lbessard@149: case function_lreal_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_USINT lbessard@149: */ lbessard@149: case function_lreal_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_ULINT lbessard@149: */ lbessard@149: case function_lreal_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_BOOL lbessard@149: */ lbessard@149: case function_lreal_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_TIME lbessard@149: */ lbessard@149: case function_lreal_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__real_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LREAL_TO_INT lbessard@149: */ lbessard@149: case function_lreal_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_lreal_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_REAL lbessard@149: */ lbessard@149: case function_byte_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_SINT lbessard@149: */ lbessard@149: case function_byte_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_LINT lbessard@149: */ lbessard@149: case function_byte_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_DINT lbessard@149: */ lbessard@149: case function_byte_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_DATE lbessard@149: */ lbessard@149: case function_byte_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_DWORD lbessard@149: */ lbessard@149: case function_byte_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_DT lbessard@149: */ lbessard@149: case function_byte_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_TOD lbessard@149: */ lbessard@149: case function_byte_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_UDINT lbessard@149: */ lbessard@149: case function_byte_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_WORD lbessard@149: */ lbessard@149: case function_byte_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_STRING lbessard@149: */ lbessard@149: case function_byte_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__bit_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_LWORD lbessard@149: */ lbessard@149: case function_byte_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_UINT lbessard@149: */ lbessard@149: case function_byte_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_LREAL lbessard@149: */ lbessard@149: case function_byte_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_USINT lbessard@149: */ lbessard@149: case function_byte_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_ULINT lbessard@149: */ lbessard@149: case function_byte_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_BOOL lbessard@149: */ lbessard@149: case function_byte_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_TIME lbessard@149: */ lbessard@149: case function_byte_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BYTE_TO_INT lbessard@149: */ lbessard@149: case function_byte_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_byte_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_REAL lbessard@149: */ lbessard@149: case function_usint_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_SINT lbessard@149: */ lbessard@149: case function_usint_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_LINT lbessard@149: */ lbessard@149: case function_usint_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_DINT lbessard@149: */ lbessard@149: case function_usint_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_DATE lbessard@149: */ lbessard@149: case function_usint_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_DWORD lbessard@149: */ lbessard@149: case function_usint_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_DT lbessard@149: */ lbessard@149: case function_usint_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_TOD lbessard@149: */ lbessard@149: case function_usint_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_UDINT lbessard@149: */ lbessard@149: case function_usint_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_WORD lbessard@149: */ lbessard@149: case function_usint_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_STRING lbessard@149: */ lbessard@149: case function_usint_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__uint_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_LWORD lbessard@149: */ lbessard@149: case function_usint_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_UINT lbessard@149: */ lbessard@149: case function_usint_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_LREAL lbessard@149: */ lbessard@149: case function_usint_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_BYTE lbessard@149: */ lbessard@149: case function_usint_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_ULINT lbessard@149: */ lbessard@149: case function_usint_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_BOOL lbessard@149: */ lbessard@149: case function_usint_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_TIME lbessard@149: */ lbessard@149: case function_usint_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_INT lbessard@149: */ lbessard@149: case function_usint_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_REAL lbessard@149: */ lbessard@149: case function_ulint_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_SINT lbessard@149: */ lbessard@149: case function_ulint_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_LINT lbessard@149: */ lbessard@149: case function_ulint_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_DINT lbessard@149: */ lbessard@149: case function_ulint_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_DATE lbessard@149: */ lbessard@149: case function_ulint_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_DWORD lbessard@149: */ lbessard@149: case function_ulint_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_DT lbessard@149: */ lbessard@149: case function_ulint_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_TOD lbessard@149: */ lbessard@149: case function_ulint_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_UDINT lbessard@149: */ lbessard@149: case function_ulint_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_WORD lbessard@149: */ lbessard@149: case function_ulint_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_STRING lbessard@149: */ lbessard@149: case function_ulint_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__uint_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_LWORD lbessard@149: */ lbessard@149: case function_ulint_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_UINT lbessard@149: */ lbessard@149: case function_ulint_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_LREAL lbessard@149: */ lbessard@149: case function_ulint_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_BYTE lbessard@149: */ lbessard@149: case function_ulint_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_USINT lbessard@149: */ lbessard@149: case function_ulint_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_BOOL lbessard@149: */ lbessard@149: case function_ulint_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_TIME lbessard@149: */ lbessard@149: case function_ulint_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_INT lbessard@149: */ lbessard@149: case function_ulint_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_REAL lbessard@149: */ lbessard@149: case function_bool_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@70: *BOOL_TO_SINT lbessard@70: */ lbessard@70: case function_bool_to_sint : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@70: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_bool_to_sint*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@149: *BOOL_TO_LINT lbessard@149: */ lbessard@149: case function_bool_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_DINT lbessard@149: */ lbessard@149: case function_bool_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_DATE lbessard@149: */ lbessard@149: case function_bool_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_DWORD lbessard@149: */ lbessard@149: case function_bool_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_DT lbessard@149: */ lbessard@149: case function_bool_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_TOD lbessard@149: */ lbessard@149: case function_bool_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_UDINT lbessard@149: */ lbessard@149: case function_bool_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_WORD lbessard@149: */ lbessard@149: case function_bool_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_STRING lbessard@149: */ lbessard@149: case function_bool_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__bool_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_LWORD lbessard@149: */ lbessard@149: case function_bool_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_UINT lbessard@149: */ lbessard@149: case function_bool_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_LREAL lbessard@149: */ lbessard@149: case function_bool_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_BYTE lbessard@149: */ lbessard@149: case function_bool_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_USINT lbessard@149: */ lbessard@149: case function_bool_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_ULINT lbessard@149: */ lbessard@149: case function_bool_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BOOL_TO_TIME lbessard@149: */ lbessard@149: case function_bool_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bool_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@70: *BOOL_TO_INT lbessard@70: */ lbessard@70: case function_bool_to_int : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@70: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_bool_to_int*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@149: *TIME_TO_REAL lbessard@149: */ lbessard@149: case function_time_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_real")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_SINT lbessard@149: */ lbessard@149: case function_time_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_LINT lbessard@149: */ lbessard@149: case function_time_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_DINT lbessard@149: */ lbessard@149: case function_time_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_DWORD lbessard@149: */ lbessard@149: case function_time_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_UDINT lbessard@149: */ lbessard@149: case function_time_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_WORD lbessard@149: */ lbessard@149: case function_time_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_STRING lbessard@149: */ lbessard@149: case function_time_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_LWORD lbessard@149: */ lbessard@149: case function_time_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_UINT lbessard@149: */ lbessard@149: case function_time_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_LREAL lbessard@149: */ lbessard@149: case function_time_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_real")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_BYTE lbessard@149: */ lbessard@149: case function_time_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_USINT lbessard@149: */ lbessard@149: case function_time_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_ULINT lbessard@149: */ lbessard@149: case function_time_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TIME_TO_INT lbessard@149: */ lbessard@149: case function_time_to_int : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_to_int")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_time_to_int*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_REAL lbessard@149: */ lbessard@149: case function_int_to_real : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::real_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_real*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_SINT lbessard@149: */ lbessard@149: case function_int_to_sint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_sint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_LINT lbessard@149: */ lbessard@149: case function_int_to_lint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_lint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_DINT lbessard@149: */ lbessard@149: case function_int_to_dint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_dint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_DATE lbessard@149: */ lbessard@149: case function_int_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_DWORD lbessard@149: */ lbessard@149: case function_int_to_dword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_dword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_DT lbessard@149: */ lbessard@149: case function_int_to_dt : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_dt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_TOD lbessard@149: */ lbessard@149: case function_int_to_tod : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_tod*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_UDINT lbessard@149: */ lbessard@149: case function_int_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_WORD lbessard@149: */ lbessard@149: case function_int_to_word : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::word_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_word*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_STRING lbessard@149: */ lbessard@149: case function_int_to_string : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__sint_to_string")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_string*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_LWORD lbessard@149: */ lbessard@149: case function_int_to_lword : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_lword*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_UINT lbessard@149: */ lbessard@149: case function_int_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_LREAL lbessard@149: */ lbessard@149: case function_int_to_lreal : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_lreal*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_BYTE lbessard@149: */ lbessard@149: case function_int_to_byte : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_byte*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_USINT lbessard@149: */ lbessard@149: case function_int_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_ULINT lbessard@149: */ lbessard@149: case function_int_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_BOOL lbessard@149: */ lbessard@149: case function_int_to_bool : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_bool*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *INT_TO_TIME lbessard@149: */ lbessard@149: case function_int_to_time : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__int_to_time")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_int_to_time*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TRUNC lbessard@149: */ lbessard@149: case function_trunc : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) lbessard@169: { lbessard@169: lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; lbessard@149: function_type_prefix = (symbol_c*)(new pragma_c("int")); lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_trunc*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BCD_TO_UDINT lbessard@149: */ lbessard@149: case function_bcd_to_udint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__bcd_to_uint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bcd_to_udint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BCD_TO_UINT lbessard@149: */ lbessard@149: case function_bcd_to_uint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__bcd_to_uint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bcd_to_uint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BCD_TO_ULINT lbessard@149: */ lbessard@149: case function_bcd_to_ulint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__bcd_to_uint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bcd_to_ulint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *BCD_TO_USINT lbessard@149: */ lbessard@149: case function_bcd_to_usint : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__bcd_to_uint")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_bcd_to_usint*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UDINT_TO_BCD lbessard@149: */ lbessard@149: case function_udint_to_bcd : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__uint_to_bcd")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_udint_to_bcd*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *UINT_TO_BCD lbessard@149: */ lbessard@149: case function_uint_to_bcd : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__uint_to_bcd")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_uint_to_bcd*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *USINT_TO_BCD lbessard@149: */ lbessard@149: case function_usint_to_bcd : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__uint_to_bcd")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_usint_to_bcd*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ULINT_TO_BCD lbessard@149: */ lbessard@149: case function_ulint_to_bcd : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__uint_to_bcd")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name; lbessard@149: function_type_prefix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ulint_to_bcd*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_AND_TIME_TO_TIME_OF_DAY lbessard@149: */ lbessard@149: case function_date_and_time_to_time_of_day : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__date_and_time_to_time_of_day")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_and_time_to_time_of_day*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *DATE_AND_TIME_TO_DATE lbessard@149: */ lbessard@149: case function_date_and_time_to_date : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__date_and_time_to_date")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::date_type_name; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_date_and_time_to_date*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ABS lbessard@149: */ lbessard@149: case function_abs : lbessard@149: { lbessard@149: symbol_c *last_type_symbol = NULL; lbessard@149: lbessard@149: { lbessard@149: /* Get the value from a foo( = ) style call */ lbessard@149: symbol_c *IN_param_value = &this->default_variable_name; lbessard@149: lbessard@149: symbol_c *IN_type_symbol = param_data_type; lbessard@149: last_type_symbol = param_data_type; lbessard@149: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_num_type(IN_type_symbol)) lbessard@149: { lbessard@149: lbessard@149: function_name = (symbol_c*)(new pragma_c("__abs_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@149: symbol_c * return_type_symbol = IN_type_symbol; lbessard@149: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_abs*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SQRT lbessard@149: */ lbessard@149: case function_sqrt : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@165: function_name = (symbol_c*)(new pragma_c("__sqrt_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@165: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sqrt*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LN lbessard@149: */ lbessard@149: case function_ln : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@165: function_name = (symbol_c*)(new pragma_c("__ln_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@165: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_ln*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *LOG lbessard@149: */ lbessard@149: case function_log : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@165: function_name = (symbol_c*)(new pragma_c("__log_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@165: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_log*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *EXP lbessard@149: */ lbessard@149: case function_exp : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@165: function_name = (symbol_c*)(new pragma_c("__exp_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@165: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_exp*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *SIN lbessard@149: */ lbessard@149: case function_sin : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@165: function_name = (symbol_c*)(new pragma_c("__sin_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@165: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_sin*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *COS lbessard@149: */ lbessard@149: case function_cos : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@165: function_name = (symbol_c*)(new pragma_c("__cos_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@165: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_cos*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *TAN lbessard@149: */ lbessard@149: case function_tan : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@165: function_name = (symbol_c*)(new pragma_c("__tan_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@165: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_tan*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ASIN lbessard@149: */ lbessard@149: case function_asin : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@165: function_name = (symbol_c*)(new pragma_c("__asin_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@165: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_asin*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ACOS lbessard@149: */ lbessard@149: case function_acos : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@165: function_name = (symbol_c*)(new pragma_c("__acos_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@165: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@149: lbessard@149: ERROR; lbessard@149: } lbessard@149: lbessard@149: }/*function_acos*/ lbessard@149: break; lbessard@149: lbessard@149: /**** lbessard@149: *ATAN lbessard@149: */ lbessard@149: case function_atan : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_real_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@165: function_name = (symbol_c*)(new pragma_c("__atan_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@165: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@70: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_atan*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *ADD lbessard@70: */ lbessard@70: case function_add : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__add_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_add")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_add")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_add")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_add*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *MUL lbessard@70: */ lbessard@70: case function_mul : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__mul_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_mul")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_mul*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *SUB lbessard@70: */ lbessard@70: case function_sub : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__sub_")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_sub")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_sub")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_sub")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_sub")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_sub")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_sub")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_sub*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *DIV lbessard@70: */ lbessard@70: case function_div : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__div_")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_div")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::time_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_div*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *MOD lbessard@70: */ lbessard@70: case function_mod : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_num_type(IN1_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__mod_")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_mod*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *EXPT lbessard@70: */ lbessard@70: case function_expt : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_real_type(IN1_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_num_type(IN2_type_symbol)) lbessard@70: { lbessard@70: lbessard@165: function_name = (symbol_c*)(new pragma_c("__expt_")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = last_type_symbol; lbessard@165: function_type_suffix = IN1_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_expt*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *MOVE lbessard@70: */ lbessard@70: case function_move : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: greg@153: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__move_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@70: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_move*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *SHL lbessard@70: */ lbessard@70: case function_shl : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("N"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *N_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *N_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (N_param_value == NULL) lbessard@70: N_param_value = function_call_param_iterator.next(); lbessard@169: if (N_param_value != NULL) { lbessard@169: N_type_symbol = search_expression_type->get_type(N_param_value); lbessard@169: last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; lbessard@169: } lbessard@169: lbessard@169: if(N_type_symbol == NULL || search_expression_type->is_integer_type(N_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__shl_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (N_type_symbol == NULL) lbessard@169: N_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@149: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_shl*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *SHR lbessard@70: */ lbessard@70: case function_shr : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("N"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *N_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *N_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (N_param_value == NULL) lbessard@70: N_param_value = function_call_param_iterator.next(); lbessard@169: if (N_param_value != NULL) { lbessard@169: N_type_symbol = search_expression_type->get_type(N_param_value); lbessard@169: last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; lbessard@169: } lbessard@169: lbessard@169: if(N_type_symbol == NULL || search_expression_type->is_integer_type(N_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__shr_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (N_type_symbol == NULL) lbessard@169: N_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@149: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_shr*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *ROR lbessard@70: */ lbessard@70: case function_ror : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("N"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *N_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *N_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (N_param_value == NULL) lbessard@70: N_param_value = function_call_param_iterator.next(); lbessard@169: if (N_param_value != NULL) { lbessard@169: N_type_symbol = search_expression_type->get_type(N_param_value); lbessard@169: last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; lbessard@169: } lbessard@169: lbessard@169: if(N_type_symbol == NULL || search_expression_type->is_integer_type(N_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__ror_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (N_type_symbol == NULL) lbessard@169: N_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@149: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_ror*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *ROL lbessard@70: */ lbessard@70: case function_rol : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_nbinary_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("N"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *N_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *N_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (N_param_value == NULL) lbessard@70: N_param_value = function_call_param_iterator.next(); lbessard@169: if (N_param_value != NULL) { lbessard@169: N_type_symbol = search_expression_type->get_type(N_param_value); lbessard@169: last_type_symbol = last_type_symbol && N_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ; lbessard@169: } lbessard@169: lbessard@169: if(N_type_symbol == NULL || search_expression_type->is_integer_type(N_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__rol_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (N_type_symbol == NULL) lbessard@169: N_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(N_param_value, N_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@149: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_rol*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *AND lbessard@70: */ lbessard@70: case function_and : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_binary_type(IN2_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__and_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_and*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *OR lbessard@70: */ lbessard@70: case function_or : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_binary_type(IN2_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__or_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_or*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *XOR lbessard@70: */ lbessard@70: case function_xor : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_binary_type(IN1_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_binary_type(IN2_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__xor_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_xor*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *NOT lbessard@70: */ lbessard@70: case function_not : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_binary_type(IN_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__not_")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@70: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_not*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *SEL lbessard@70: */ lbessard@70: case function_sel : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *G_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *G_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(G_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN0"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN0_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN0_param_value == NULL) lbessard@70: IN0_param_value = function_call_param_iterator.next(); lbessard@169: if (IN0_param_value != NULL) { lbessard@169: IN0_type_symbol = search_expression_type->get_type(IN0_param_value); lbessard@169: last_type_symbol = last_type_symbol && IN0_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN1"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN1_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN1_param_value == NULL) lbessard@70: IN1_param_value = function_call_param_iterator.next(); lbessard@169: if (IN1_param_value != NULL) { lbessard@169: IN1_type_symbol = search_expression_type->get_type(IN1_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__sel_")); lbessard@169: lbessard@169: if (G_type_symbol == NULL) lbessard@169: G_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(G_param_value, G_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN0_type_symbol == NULL) lbessard@169: IN0_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = IN0_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_sel*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *MAX lbessard@70: */ lbessard@70: case function_max : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__max_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_max*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *MIN lbessard@70: */ lbessard@70: case function_min : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__min_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_min*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *LIMIT lbessard@70: */ lbessard@70: case function_limit : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *MN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *MN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN_param_value == NULL) lbessard@70: IN_param_value = function_call_param_iterator.next(); lbessard@169: if (IN_param_value != NULL) { lbessard@169: IN_type_symbol = search_expression_type->get_type(IN_param_value); lbessard@169: last_type_symbol = last_type_symbol && IN_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("MX"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *MX_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *MX_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (MX_param_value == NULL) lbessard@70: MX_param_value = function_call_param_iterator.next(); lbessard@169: if (MX_param_value != NULL) { lbessard@169: MX_type_symbol = search_expression_type->get_type(MX_param_value); lbessard@169: last_type_symbol = last_type_symbol && MX_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__limit_")); lbessard@169: lbessard@169: if (MN_type_symbol == NULL) lbessard@169: MN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(MN_param_value, MN_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (MX_type_symbol == NULL) lbessard@169: MX_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(MX_param_value, MX_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = IN_type_symbol; lbessard@149: function_type_suffix = IN_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_limit*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *MUX lbessard@70: */ lbessard@70: case function_mux : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *K_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *K_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(K_type_symbol == NULL || search_expression_type->is_integer_type(K_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN0"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN0_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN0_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN0_param_value == NULL) lbessard@70: IN0_param_value = function_call_param_iterator.next(); lbessard@169: if (IN0_param_value != NULL) { lbessard@169: IN0_type_symbol = search_expression_type->get_type(IN0_param_value); lbessard@169: last_type_symbol = last_type_symbol && IN0_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN1"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN1_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN1_param_value == NULL) lbessard@70: IN1_param_value = function_call_param_iterator.next(); lbessard@169: if (IN1_param_value != NULL) { lbessard@169: IN1_type_symbol = search_expression_type->get_type(IN1_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__mux_")); lbessard@149: lbessard@169: if (nb_param < 3) lbessard@169: nb_param = 3; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (K_type_symbol == NULL) lbessard@169: K_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(K_param_value, K_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN0_type_symbol == NULL) lbessard@169: IN0_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN0_param_value, IN0_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 2; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = last_type_symbol; lbessard@149: function_type_suffix = return_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_mux*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *GT lbessard@70: */ lbessard@70: case function_gt : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__gt_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_suffix = last_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_gt*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *GE lbessard@70: */ lbessard@70: case function_ge : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__ge_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_suffix = last_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_ge*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *EQ lbessard@70: */ lbessard@70: case function_eq : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__eq_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_suffix = last_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_eq*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *LT lbessard@70: */ lbessard@70: case function_lt : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__lt_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_suffix = last_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_lt*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *LE lbessard@70: */ lbessard@70: case function_le : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__le_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_suffix = last_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_le*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *NE lbessard@70: */ lbessard@70: case function_ne : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@70: lbessard@70: lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__ne_")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name; lbessard@149: function_type_suffix = last_type_symbol; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_ne*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *LEN lbessard@70: */ lbessard@70: case function_len : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__len")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: break; lbessard@149: lbessard@149: } lbessard@149: lbessard@70: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_len*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *LEFT lbessard@70: */ lbessard@70: case function_left : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("L"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *L_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *L_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (L_param_value == NULL) lbessard@70: L_param_value = function_call_param_iterator.next(); lbessard@169: if (L_param_value != NULL) { lbessard@169: L_type_symbol = search_expression_type->get_type(L_param_value); lbessard@169: last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; lbessard@169: } lbessard@169: lbessard@169: if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__left")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (L_type_symbol == NULL) lbessard@169: L_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_left*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *RIGHT lbessard@70: */ lbessard@70: case function_right : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("L"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *L_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *L_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (L_param_value == NULL) lbessard@70: L_param_value = function_call_param_iterator.next(); lbessard@169: if (L_param_value != NULL) { lbessard@169: L_type_symbol = search_expression_type->get_type(L_param_value); lbessard@169: last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; lbessard@169: } lbessard@169: lbessard@169: if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__right")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (L_type_symbol == NULL) lbessard@169: L_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_right*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *MID lbessard@70: */ lbessard@70: case function_mid : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("L"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *L_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *L_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (L_param_value == NULL) lbessard@70: L_param_value = function_call_param_iterator.next(); lbessard@169: if (L_param_value != NULL) { lbessard@169: L_type_symbol = search_expression_type->get_type(L_param_value); lbessard@169: last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; lbessard@169: } lbessard@169: lbessard@169: if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("P"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *P_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *P_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (P_param_value == NULL) lbessard@70: P_param_value = function_call_param_iterator.next(); lbessard@169: if (P_param_value != NULL) { lbessard@169: P_type_symbol = search_expression_type->get_type(P_param_value); lbessard@169: last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; lbessard@169: } lbessard@70: lbessard@169: if(P_type_symbol == NULL || search_expression_type->is_integer_type(P_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__mid")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (L_type_symbol == NULL) lbessard@169: L_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (P_type_symbol == NULL) lbessard@169: P_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_mid*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *CONCAT lbessard@70: */ lbessard@70: case function_concat : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__time_add")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__concat")); lbessard@149: lbessard@169: if (nb_param < 2) lbessard@169: nb_param = 2; lbessard@154: char* nb_param_str = new char[10]; lbessard@149: sprintf(nb_param_str, "%d", nb_param); lbessard@154: ADD_PARAM_LIST((symbol_c*)(new integer_c((const char *)nb_param_str)), (symbol_c*)(new int_type_name_c()), function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: lbessard@70: int base_num = 3; lbessard@70: symbol_c *param_value = NULL; lbessard@70: do{ lbessard@70: char my_name[10]; lbessard@70: sprintf(my_name, "IN%d", base_num++); lbessard@70: identifier_c param_name(my_name); lbessard@70: lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: param_value = function_call_param_iterator.search(¶m_name); lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (param_value == NULL) lbessard@70: param_value = function_call_param_iterator.next(); lbessard@70: if (param_value != NULL){ lbessard@70: symbol_c *current_type_symbol = search_expression_type->get_type(param_value); lbessard@70: last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ; lbessard@70: lbessard@70: /*Function specific CODE */ lbessard@149: ADD_PARAM_LIST(param_value, current_type_symbol, function_param_iterator_c::direction_in) lbessard@70: } lbessard@70: lbessard@70: }while(param_value != NULL); lbessard@149: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_concat*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *INSERT lbessard@70: */ lbessard@70: case function_insert : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("P"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *P_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *P_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (P_param_value == NULL) lbessard@70: P_param_value = function_call_param_iterator.next(); lbessard@169: if (P_param_value != NULL) { lbessard@169: P_type_symbol = search_expression_type->get_type(P_param_value); lbessard@169: last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; lbessard@169: } lbessard@70: lbessard@169: if(P_type_symbol == NULL || search_expression_type->is_integer_type(P_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__insert")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (P_type_symbol == NULL) lbessard@169: P_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_insert*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *DELETE lbessard@70: */ lbessard@70: case function_delete : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("L"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *L_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *L_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (L_param_value == NULL) lbessard@70: L_param_value = function_call_param_iterator.next(); lbessard@169: if (L_param_value != NULL) { lbessard@169: L_type_symbol = search_expression_type->get_type(L_param_value); lbessard@169: last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; lbessard@169: } lbessard@169: lbessard@169: if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("P"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *P_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *P_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (P_param_value == NULL) lbessard@70: P_param_value = function_call_param_iterator.next(); lbessard@169: if (P_param_value != NULL) { lbessard@169: P_type_symbol = search_expression_type->get_type(P_param_value); lbessard@169: last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; lbessard@169: } lbessard@70: lbessard@169: if(P_type_symbol == NULL || search_expression_type->is_integer_type(P_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__delete")); lbessard@169: lbessard@169: if (IN_type_symbol == NULL) lbessard@169: IN_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (L_type_symbol == NULL) lbessard@169: L_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (P_type_symbol == NULL) lbessard@169: P_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_delete*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *REPLACE lbessard@70: */ lbessard@70: case function_replace : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("L"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *L_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *L_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (L_param_value == NULL) lbessard@70: L_param_value = function_call_param_iterator.next(); lbessard@169: if (L_param_value != NULL) { lbessard@169: L_type_symbol = search_expression_type->get_type(L_param_value); lbessard@169: last_type_symbol = last_type_symbol && L_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ; lbessard@169: } lbessard@70: lbessard@169: if(L_type_symbol == NULL || search_expression_type->is_integer_type(L_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("P"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *P_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *P_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (P_param_value == NULL) lbessard@70: P_param_value = function_call_param_iterator.next(); lbessard@169: if (P_param_value != NULL) { lbessard@169: P_type_symbol = search_expression_type->get_type(P_param_value); lbessard@169: last_type_symbol = last_type_symbol && P_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ; lbessard@169: } lbessard@70: lbessard@169: if(P_type_symbol == NULL || search_expression_type->is_integer_type(P_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__replace")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (L_type_symbol == NULL) lbessard@169: L_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(L_param_value, L_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (P_type_symbol == NULL) lbessard@169: P_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(P_param_value, P_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::string_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_replace*/ lbessard@70: break; lbessard@70: lbessard@70: /**** lbessard@70: *FIND lbessard@70: */ lbessard@70: case function_find : lbessard@70: { lbessard@70: symbol_c *last_type_symbol = NULL; lbessard@70: lbessard@70: { lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN1_param_value = &this->default_variable_name; lbessard@70: lbessard@70: symbol_c *IN1_type_symbol = param_data_type; lbessard@70: last_type_symbol = param_data_type; lbessard@70: lbessard@169: if(IN1_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@70: { lbessard@70: identifier_c param_name("IN2"); lbessard@70: /* Get the value from a foo( = ) style call */ lbessard@70: symbol_c *IN2_param_value = function_call_param_iterator.search(¶m_name); lbessard@169: symbol_c *IN2_type_symbol = NULL; lbessard@70: lbessard@70: /* Get the value from a foo() style call */ lbessard@70: if (IN2_param_value == NULL) lbessard@70: IN2_param_value = function_call_param_iterator.next(); lbessard@169: if (IN2_param_value != NULL) { lbessard@169: IN2_type_symbol = search_expression_type->get_type(IN2_param_value); lbessard@169: 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 ; lbessard@169: } lbessard@169: lbessard@169: if(IN2_type_symbol == NULL || search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol)) lbessard@70: { lbessard@70: lbessard@149: function_name = (symbol_c*)(new pragma_c("__find")); lbessard@169: lbessard@169: if (IN1_type_symbol == NULL) lbessard@169: IN1_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) lbessard@169: lbessard@169: if (IN2_type_symbol == NULL) lbessard@169: IN2_type_symbol = last_type_symbol; lbessard@149: ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) lbessard@70: symbol_c * return_type_symbol = &search_constant_type_c::int_type_name; lbessard@149: break; lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: } lbessard@70: lbessard@149: lbessard@70: ERROR; lbessard@70: } lbessard@70: lbessard@70: }/*function_find*/ lbessard@70: break; lbessard@70: lbessard@70: case function_none : lbessard@70: ERROR; lbessard@70: }