--- a/stage4/generate_cc/st_code_gen.c Sat Jul 07 11:07:26 2007 +0200
+++ b/stage4/generate_cc/st_code_gen.c Sat Jul 07 11:34:21 2007 +0200
@@ -353,7 +353,7 @@
symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
+ s4o.print(")__real_to_time(");
IN_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -570,9 +570,9 @@
symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
+ s4o.print(")__real_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
return NULL;
}
@@ -584,9 +584,9 @@
break;
/****
- *REAL_TO_WSTRING
- */
- case function_real_to_wstring :
+ *REAL_TO_DATE
+ */
+ case function_real_to_date :
{
symbol_c *last_type_symbol = NULL;
@@ -604,26 +604,26 @@
if (typeid(*last_type_symbol) == typeid(real_type_name_c))
{
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_wstring*/
- break;
-
-/****
- *REAL_TO_DATE
- */
- case function_real_to_date :
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_date*/
+ break;
+
+/****
+ *REAL_TO_TOD
+ */
+ case function_real_to_tod :
{
symbol_c *last_type_symbol = NULL;
@@ -641,115 +641,767 @@
if (typeid(*last_type_symbol) == typeid(real_type_name_c))
{
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_tod*/
+ break;
+
+/****
+ *REAL_TO_DT
+ */
+ case function_real_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_real_to_dt*/
+ break;
+
+/****
+ *LREAL_TO_REAL
+ */
+ case function_lreal_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_real*/
+ break;
+
+/****
+ *LREAL_TO_SINT
+ */
+ case function_lreal_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_sint*/
+ break;
+
+/****
+ *LREAL_TO_INT
+ */
+ case function_lreal_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_int*/
+ break;
+
+/****
+ *LREAL_TO_DINT
+ */
+ case function_lreal_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dint*/
+ break;
+
+/****
+ *LREAL_TO_LINT
+ */
+ case function_lreal_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_lint*/
+ break;
+
+/****
+ *LREAL_TO_USINT
+ */
+ case function_lreal_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_usint*/
+ break;
+
+/****
+ *LREAL_TO_UINT
+ */
+ case function_lreal_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_uint*/
+ break;
+
+/****
+ *LREAL_TO_UDINT
+ */
+ case function_lreal_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_udint*/
+ break;
+
+/****
+ *LREAL_TO_ULINT
+ */
+ case function_lreal_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_ulint*/
+ break;
+
+/****
+ *LREAL_TO_TIME
+ */
+ case function_lreal_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_time*/
+ break;
+
+/****
+ *LREAL_TO_BOOL
+ */
+ case function_lreal_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_bool*/
+ break;
+
+/****
+ *LREAL_TO_BYTE
+ */
+ case function_lreal_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_byte*/
+ break;
+
+/****
+ *LREAL_TO_WORD
+ */
+ case function_lreal_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_word*/
+ break;
+
+/****
+ *LREAL_TO_DWORD
+ */
+ case function_lreal_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dword*/
+ break;
+
+/****
+ *LREAL_TO_LWORD
+ */
+ case function_lreal_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_lword*/
+ break;
+
+/****
+ *LREAL_TO_STRING
+ */
+ case function_lreal_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__real_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_string*/
+ break;
+
+/****
+ *LREAL_TO_DATE
+ */
+ case function_lreal_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ {
+
symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_date*/
- break;
-
-/****
- *REAL_TO_TOD
- */
- case function_real_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ s4o.print(")__real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_date*/
+ break;
+
+/****
+ *LREAL_TO_TOD
+ */
+ case function_lreal_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_tod*/
- break;
-
-/****
- *REAL_TO_DT
- */
- case function_real_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+ s4o.print(")__real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_tod*/
+ break;
+
+/****
+ *LREAL_TO_DT
+ */
+ case function_lreal_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_real_to_dt*/
- break;
-
-/****
- *LREAL_TO_REAL
- */
- case function_lreal_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ s4o.print(")__real_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lreal_to_dt*/
+ break;
+
+/****
+ *SINT_TO_REAL
+ */
+ case function_sint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
@@ -764,28 +1416,753 @@
ERROR;
}
- }/*function_lreal_to_real*/
- break;
-
-/****
- *LREAL_TO_SINT
- */
- case function_lreal_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_sint_to_real*/
+ break;
+
+/****
+ *SINT_TO_LREAL
+ */
+ case function_sint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lreal*/
+ break;
+
+/****
+ *SINT_TO_INT
+ */
+ case function_sint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_int*/
+ break;
+
+/****
+ *SINT_TO_DINT
+ */
+ case function_sint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dint*/
+ break;
+
+/****
+ *SINT_TO_LINT
+ */
+ case function_sint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lint*/
+ break;
+
+/****
+ *SINT_TO_USINT
+ */
+ case function_sint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_usint*/
+ break;
+
+/****
+ *SINT_TO_UINT
+ */
+ case function_sint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_uint*/
+ break;
+
+/****
+ *SINT_TO_UDINT
+ */
+ case function_sint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_udint*/
+ break;
+
+/****
+ *SINT_TO_ULINT
+ */
+ case function_sint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_ulint*/
+ break;
+
+/****
+ *SINT_TO_TIME
+ */
+ case function_sint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_time*/
+ break;
+
+/****
+ *SINT_TO_BOOL
+ */
+ case function_sint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_bool*/
+ break;
+
+/****
+ *SINT_TO_BYTE
+ */
+ case function_sint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_byte*/
+ break;
+
+/****
+ *SINT_TO_WORD
+ */
+ case function_sint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_word*/
+ break;
+
+/****
+ *SINT_TO_DWORD
+ */
+ case function_sint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dword*/
+ break;
+
+/****
+ *SINT_TO_LWORD
+ */
+ case function_sint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_lword*/
+ break;
+
+/****
+ *SINT_TO_STRING
+ */
+ case function_sint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__sint_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_string*/
+ break;
+
+/****
+ *SINT_TO_DATE
+ */
+ case function_sint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_date*/
+ break;
+
+/****
+ *SINT_TO_TOD
+ */
+ case function_sint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_tod*/
+ break;
+
+/****
+ *SINT_TO_DT
+ */
+ case function_sint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_sint_to_dt*/
+ break;
+
+/****
+ *INT_TO_REAL
+ */
+ case function_int_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_real*/
+ break;
+
+/****
+ *INT_TO_LREAL
+ */
+ case function_int_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lreal*/
+ break;
+
+/****
+ *INT_TO_SINT
+ */
+ case function_int_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
@@ -800,28 +2177,717 @@
ERROR;
}
- }/*function_lreal_to_sint*/
- break;
-
-/****
- *LREAL_TO_INT
- */
- case function_lreal_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_int_to_sint*/
+ break;
+
+/****
+ *INT_TO_DINT
+ */
+ case function_int_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dint*/
+ break;
+
+/****
+ *INT_TO_LINT
+ */
+ case function_int_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lint*/
+ break;
+
+/****
+ *INT_TO_USINT
+ */
+ case function_int_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_usint*/
+ break;
+
+/****
+ *INT_TO_UINT
+ */
+ case function_int_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_uint*/
+ break;
+
+/****
+ *INT_TO_UDINT
+ */
+ case function_int_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_udint*/
+ break;
+
+/****
+ *INT_TO_ULINT
+ */
+ case function_int_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_ulint*/
+ break;
+
+/****
+ *INT_TO_TIME
+ */
+ case function_int_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_time*/
+ break;
+
+/****
+ *INT_TO_BOOL
+ */
+ case function_int_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_bool*/
+ break;
+
+/****
+ *INT_TO_BYTE
+ */
+ case function_int_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_byte*/
+ break;
+
+/****
+ *INT_TO_WORD
+ */
+ case function_int_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_word*/
+ break;
+
+/****
+ *INT_TO_DWORD
+ */
+ case function_int_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dword*/
+ break;
+
+/****
+ *INT_TO_LWORD
+ */
+ case function_int_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_lword*/
+ break;
+
+/****
+ *INT_TO_STRING
+ */
+ case function_int_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__sint_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_string*/
+ break;
+
+/****
+ *INT_TO_DATE
+ */
+ case function_int_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_date*/
+ break;
+
+/****
+ *INT_TO_TOD
+ */
+ case function_int_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_tod*/
+ break;
+
+/****
+ *INT_TO_DT
+ */
+ case function_int_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_int_to_dt*/
+ break;
+
+/****
+ *DINT_TO_REAL
+ */
+ case function_dint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_real*/
+ break;
+
+/****
+ *DINT_TO_LREAL
+ */
+ case function_dint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lreal*/
+ break;
+
+/****
+ *DINT_TO_SINT
+ */
+ case function_dint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_sint*/
+ break;
+
+/****
+ *DINT_TO_INT
+ */
+ case function_dint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -836,28 +2902,717 @@
ERROR;
}
- }/*function_lreal_to_int*/
- break;
-
-/****
- *LREAL_TO_DINT
- */
- case function_lreal_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_dint_to_int*/
+ break;
+
+/****
+ *DINT_TO_LINT
+ */
+ case function_dint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lint*/
+ break;
+
+/****
+ *DINT_TO_USINT
+ */
+ case function_dint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_usint*/
+ break;
+
+/****
+ *DINT_TO_UINT
+ */
+ case function_dint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_uint*/
+ break;
+
+/****
+ *DINT_TO_UDINT
+ */
+ case function_dint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_udint*/
+ break;
+
+/****
+ *DINT_TO_ULINT
+ */
+ case function_dint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_ulint*/
+ break;
+
+/****
+ *DINT_TO_TIME
+ */
+ case function_dint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_time*/
+ break;
+
+/****
+ *DINT_TO_BOOL
+ */
+ case function_dint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_bool*/
+ break;
+
+/****
+ *DINT_TO_BYTE
+ */
+ case function_dint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_byte*/
+ break;
+
+/****
+ *DINT_TO_WORD
+ */
+ case function_dint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_word*/
+ break;
+
+/****
+ *DINT_TO_DWORD
+ */
+ case function_dint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_dword*/
+ break;
+
+/****
+ *DINT_TO_LWORD
+ */
+ case function_dint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_lword*/
+ break;
+
+/****
+ *DINT_TO_STRING
+ */
+ case function_dint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__sint_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_string*/
+ break;
+
+/****
+ *DINT_TO_DATE
+ */
+ case function_dint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_date*/
+ break;
+
+/****
+ *DINT_TO_TOD
+ */
+ case function_dint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_tod*/
+ break;
+
+/****
+ *DINT_TO_DT
+ */
+ case function_dint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dint_to_dt*/
+ break;
+
+/****
+ *LINT_TO_REAL
+ */
+ case function_lint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_real*/
+ break;
+
+/****
+ *LINT_TO_LREAL
+ */
+ case function_lint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_lreal*/
+ break;
+
+/****
+ *LINT_TO_SINT
+ */
+ case function_lint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_sint*/
+ break;
+
+/****
+ *LINT_TO_INT
+ */
+ case function_lint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_int*/
+ break;
+
+/****
+ *LINT_TO_DINT
+ */
+ case function_lint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
@@ -872,28 +3627,717 @@
ERROR;
}
- }/*function_lreal_to_dint*/
- break;
-
-/****
- *LREAL_TO_LINT
- */
- case function_lreal_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_lint_to_dint*/
+ break;
+
+/****
+ *LINT_TO_USINT
+ */
+ case function_lint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_usint*/
+ break;
+
+/****
+ *LINT_TO_UINT
+ */
+ case function_lint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_uint*/
+ break;
+
+/****
+ *LINT_TO_UDINT
+ */
+ case function_lint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_udint*/
+ break;
+
+/****
+ *LINT_TO_ULINT
+ */
+ case function_lint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_ulint*/
+ break;
+
+/****
+ *LINT_TO_TIME
+ */
+ case function_lint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_time*/
+ break;
+
+/****
+ *LINT_TO_BOOL
+ */
+ case function_lint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_bool*/
+ break;
+
+/****
+ *LINT_TO_BYTE
+ */
+ case function_lint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_byte*/
+ break;
+
+/****
+ *LINT_TO_WORD
+ */
+ case function_lint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_word*/
+ break;
+
+/****
+ *LINT_TO_DWORD
+ */
+ case function_lint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dword*/
+ break;
+
+/****
+ *LINT_TO_LWORD
+ */
+ case function_lint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_lword*/
+ break;
+
+/****
+ *LINT_TO_STRING
+ */
+ case function_lint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__sint_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_string*/
+ break;
+
+/****
+ *LINT_TO_DATE
+ */
+ case function_lint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_date*/
+ break;
+
+/****
+ *LINT_TO_TOD
+ */
+ case function_lint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_tod*/
+ break;
+
+/****
+ *LINT_TO_DT
+ */
+ case function_lint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lint_to_dt*/
+ break;
+
+/****
+ *USINT_TO_REAL
+ */
+ case function_usint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_real*/
+ break;
+
+/****
+ *USINT_TO_LREAL
+ */
+ case function_usint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lreal*/
+ break;
+
+/****
+ *USINT_TO_SINT
+ */
+ case function_usint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_sint*/
+ break;
+
+/****
+ *USINT_TO_INT
+ */
+ case function_usint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_int*/
+ break;
+
+/****
+ *USINT_TO_DINT
+ */
+ case function_usint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dint*/
+ break;
+
+/****
+ *USINT_TO_LINT
+ */
+ case function_usint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
@@ -908,28 +4352,717 @@
ERROR;
}
- }/*function_lreal_to_lint*/
- break;
-
-/****
- *LREAL_TO_USINT
- */
- case function_lreal_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_usint_to_lint*/
+ break;
+
+/****
+ *USINT_TO_UINT
+ */
+ case function_usint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_uint*/
+ break;
+
+/****
+ *USINT_TO_UDINT
+ */
+ case function_usint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_udint*/
+ break;
+
+/****
+ *USINT_TO_ULINT
+ */
+ case function_usint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_ulint*/
+ break;
+
+/****
+ *USINT_TO_TIME
+ */
+ case function_usint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_time*/
+ break;
+
+/****
+ *USINT_TO_BOOL
+ */
+ case function_usint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_bool*/
+ break;
+
+/****
+ *USINT_TO_BYTE
+ */
+ case function_usint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_byte*/
+ break;
+
+/****
+ *USINT_TO_WORD
+ */
+ case function_usint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_word*/
+ break;
+
+/****
+ *USINT_TO_DWORD
+ */
+ case function_usint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dword*/
+ break;
+
+/****
+ *USINT_TO_LWORD
+ */
+ case function_usint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_lword*/
+ break;
+
+/****
+ *USINT_TO_STRING
+ */
+ case function_usint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__uint_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_string*/
+ break;
+
+/****
+ *USINT_TO_DATE
+ */
+ case function_usint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_date*/
+ break;
+
+/****
+ *USINT_TO_TOD
+ */
+ case function_usint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_tod*/
+ break;
+
+/****
+ *USINT_TO_DT
+ */
+ case function_usint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_dt*/
+ break;
+
+/****
+ *UINT_TO_REAL
+ */
+ case function_uint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_real*/
+ break;
+
+/****
+ *UINT_TO_LREAL
+ */
+ case function_uint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lreal*/
+ break;
+
+/****
+ *UINT_TO_SINT
+ */
+ case function_uint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_sint*/
+ break;
+
+/****
+ *UINT_TO_INT
+ */
+ case function_uint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_int*/
+ break;
+
+/****
+ *UINT_TO_DINT
+ */
+ case function_uint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dint*/
+ break;
+
+/****
+ *UINT_TO_LINT
+ */
+ case function_uint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lint*/
+ break;
+
+/****
+ *UINT_TO_USINT
+ */
+ case function_uint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -944,28 +5077,717 @@
ERROR;
}
- }/*function_lreal_to_usint*/
- break;
-
-/****
- *LREAL_TO_UINT
- */
- case function_lreal_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_uint_to_usint*/
+ break;
+
+/****
+ *UINT_TO_UDINT
+ */
+ case function_uint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_udint*/
+ break;
+
+/****
+ *UINT_TO_ULINT
+ */
+ case function_uint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_ulint*/
+ break;
+
+/****
+ *UINT_TO_TIME
+ */
+ case function_uint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_time*/
+ break;
+
+/****
+ *UINT_TO_BOOL
+ */
+ case function_uint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_bool*/
+ break;
+
+/****
+ *UINT_TO_BYTE
+ */
+ case function_uint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_byte*/
+ break;
+
+/****
+ *UINT_TO_WORD
+ */
+ case function_uint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_word*/
+ break;
+
+/****
+ *UINT_TO_DWORD
+ */
+ case function_uint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dword*/
+ break;
+
+/****
+ *UINT_TO_LWORD
+ */
+ case function_uint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_lword*/
+ break;
+
+/****
+ *UINT_TO_STRING
+ */
+ case function_uint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__uint_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_string*/
+ break;
+
+/****
+ *UINT_TO_DATE
+ */
+ case function_uint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_date*/
+ break;
+
+/****
+ *UINT_TO_TOD
+ */
+ case function_uint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_tod*/
+ break;
+
+/****
+ *UINT_TO_DT
+ */
+ case function_uint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_dt*/
+ break;
+
+/****
+ *UDINT_TO_REAL
+ */
+ case function_udint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_real*/
+ break;
+
+/****
+ *UDINT_TO_LREAL
+ */
+ case function_udint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lreal*/
+ break;
+
+/****
+ *UDINT_TO_SINT
+ */
+ case function_udint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_sint*/
+ break;
+
+/****
+ *UDINT_TO_INT
+ */
+ case function_udint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_int*/
+ break;
+
+/****
+ *UDINT_TO_DINT
+ */
+ case function_udint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dint*/
+ break;
+
+/****
+ *UDINT_TO_LINT
+ */
+ case function_udint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lint*/
+ break;
+
+/****
+ *UDINT_TO_USINT
+ */
+ case function_udint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_usint*/
+ break;
+
+/****
+ *UDINT_TO_UINT
+ */
+ case function_udint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -980,28 +5802,717 @@
ERROR;
}
- }/*function_lreal_to_uint*/
- break;
-
-/****
- *LREAL_TO_UDINT
- */
- case function_lreal_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_udint_to_uint*/
+ break;
+
+/****
+ *UDINT_TO_ULINT
+ */
+ case function_udint_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_ulint*/
+ break;
+
+/****
+ *UDINT_TO_TIME
+ */
+ case function_udint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_time*/
+ break;
+
+/****
+ *UDINT_TO_BOOL
+ */
+ case function_udint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_bool*/
+ break;
+
+/****
+ *UDINT_TO_BYTE
+ */
+ case function_udint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_byte*/
+ break;
+
+/****
+ *UDINT_TO_WORD
+ */
+ case function_udint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_word*/
+ break;
+
+/****
+ *UDINT_TO_DWORD
+ */
+ case function_udint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dword*/
+ break;
+
+/****
+ *UDINT_TO_LWORD
+ */
+ case function_udint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_lword*/
+ break;
+
+/****
+ *UDINT_TO_STRING
+ */
+ case function_udint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__uint_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_string*/
+ break;
+
+/****
+ *UDINT_TO_DATE
+ */
+ case function_udint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_date*/
+ break;
+
+/****
+ *UDINT_TO_TOD
+ */
+ case function_udint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_tod*/
+ break;
+
+/****
+ *UDINT_TO_DT
+ */
+ case function_udint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_dt*/
+ break;
+
+/****
+ *ULINT_TO_REAL
+ */
+ case function_ulint_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_real*/
+ break;
+
+/****
+ *ULINT_TO_LREAL
+ */
+ case function_ulint_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lreal*/
+ break;
+
+/****
+ *ULINT_TO_SINT
+ */
+ case function_ulint_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_sint*/
+ break;
+
+/****
+ *ULINT_TO_INT
+ */
+ case function_ulint_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_int*/
+ break;
+
+/****
+ *ULINT_TO_DINT
+ */
+ case function_ulint_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dint*/
+ break;
+
+/****
+ *ULINT_TO_LINT
+ */
+ case function_ulint_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lint*/
+ break;
+
+/****
+ *ULINT_TO_USINT
+ */
+ case function_ulint_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_usint*/
+ break;
+
+/****
+ *ULINT_TO_UINT
+ */
+ case function_ulint_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_uint*/
+ break;
+
+/****
+ *ULINT_TO_UDINT
+ */
+ case function_ulint_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -1016,101 +6527,2071 @@
ERROR;
}
- }/*function_lreal_to_udint*/
- break;
-
-/****
- *LREAL_TO_ULINT
- */
- case function_lreal_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_ulint_to_udint*/
+ break;
+
+/****
+ *ULINT_TO_TIME
+ */
+ case function_ulint_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_time*/
+ break;
+
+/****
+ *ULINT_TO_BOOL
+ */
+ case function_ulint_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_bool*/
+ break;
+
+/****
+ *ULINT_TO_BYTE
+ */
+ case function_ulint_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_byte*/
+ break;
+
+/****
+ *ULINT_TO_WORD
+ */
+ case function_ulint_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_word*/
+ break;
+
+/****
+ *ULINT_TO_DWORD
+ */
+ case function_ulint_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dword*/
+ break;
+
+/****
+ *ULINT_TO_LWORD
+ */
+ case function_ulint_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_lword*/
+ break;
+
+/****
+ *ULINT_TO_STRING
+ */
+ case function_ulint_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__uint_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_string*/
+ break;
+
+/****
+ *ULINT_TO_DATE
+ */
+ case function_ulint_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_date*/
+ break;
+
+/****
+ *ULINT_TO_TOD
+ */
+ case function_ulint_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_tod*/
+ break;
+
+/****
+ *ULINT_TO_DT
+ */
+ case function_ulint_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_ulint_to_dt*/
+ break;
+
+/****
+ *TIME_TO_REAL
+ */
+ case function_time_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_real*/
+ break;
+
+/****
+ *TIME_TO_LREAL
+ */
+ case function_time_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lreal*/
+ break;
+
+/****
+ *TIME_TO_SINT
+ */
+ case function_time_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_sint*/
+ break;
+
+/****
+ *TIME_TO_INT
+ */
+ case function_time_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_int*/
+ break;
+
+/****
+ *TIME_TO_DINT
+ */
+ case function_time_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_dint*/
+ break;
+
+/****
+ *TIME_TO_LINT
+ */
+ case function_time_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lint*/
+ break;
+
+/****
+ *TIME_TO_USINT
+ */
+ case function_time_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_usint*/
+ break;
+
+/****
+ *TIME_TO_UINT
+ */
+ case function_time_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_uint*/
+ break;
+
+/****
+ *TIME_TO_UDINT
+ */
+ case function_time_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_udint*/
+ break;
+
+/****
+ *TIME_TO_ULINT
+ */
+ case function_time_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_ulint*/
- break;
-
-/****
- *LREAL_TO_TIME
- */
- case function_lreal_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_ulint*/
+ break;
+
+/****
+ *TIME_TO_BOOL
+ */
+ case function_time_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_bool*/
+ break;
+
+/****
+ *TIME_TO_BYTE
+ */
+ case function_time_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_byte*/
+ break;
+
+/****
+ *TIME_TO_WORD
+ */
+ case function_time_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_word*/
+ break;
+
+/****
+ *TIME_TO_DWORD
+ */
+ case function_time_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_dword*/
+ break;
+
+/****
+ *TIME_TO_LWORD
+ */
+ case function_time_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_lword*/
+ break;
+
+/****
+ *TIME_TO_STRING
+ */
+ case function_time_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_time_to_string*/
+ break;
+
+/****
+ *BOOL_TO_REAL
+ */
+ case function_bool_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_real*/
+ break;
+
+/****
+ *BOOL_TO_LREAL
+ */
+ case function_bool_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lreal*/
+ break;
+
+/****
+ *BOOL_TO_SINT
+ */
+ case function_bool_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_sint*/
+ break;
+
+/****
+ *BOOL_TO_INT
+ */
+ case function_bool_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_int*/
+ break;
+
+/****
+ *BOOL_TO_DINT
+ */
+ case function_bool_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dint*/
+ break;
+
+/****
+ *BOOL_TO_LINT
+ */
+ case function_bool_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lint*/
+ break;
+
+/****
+ *BOOL_TO_USINT
+ */
+ case function_bool_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_usint*/
+ break;
+
+/****
+ *BOOL_TO_UINT
+ */
+ case function_bool_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_uint*/
+ break;
+
+/****
+ *BOOL_TO_UDINT
+ */
+ case function_bool_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_udint*/
+ break;
+
+/****
+ *BOOL_TO_ULINT
+ */
+ case function_bool_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_ulint*/
+ break;
+
+/****
+ *BOOL_TO_TIME
+ */
+ case function_bool_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_time*/
- break;
-
-/****
- *LREAL_TO_BOOL
- */
- case function_lreal_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_time*/
+ break;
+
+/****
+ *BOOL_TO_BYTE
+ */
+ case function_bool_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_byte*/
+ break;
+
+/****
+ *BOOL_TO_WORD
+ */
+ case function_bool_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_word*/
+ break;
+
+/****
+ *BOOL_TO_DWORD
+ */
+ case function_bool_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dword*/
+ break;
+
+/****
+ *BOOL_TO_LWORD
+ */
+ case function_bool_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_lword*/
+ break;
+
+/****
+ *BOOL_TO_STRING
+ */
+ case function_bool_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__bool_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_string*/
+ break;
+
+/****
+ *BOOL_TO_DATE
+ */
+ case function_bool_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_date*/
+ break;
+
+/****
+ *BOOL_TO_TOD
+ */
+ case function_bool_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_tod*/
+ break;
+
+/****
+ *BOOL_TO_DT
+ */
+ case function_bool_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_bool_to_dt*/
+ break;
+
+/****
+ *BYTE_TO_REAL
+ */
+ case function_byte_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_real*/
+ break;
+
+/****
+ *BYTE_TO_LREAL
+ */
+ case function_byte_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lreal*/
+ break;
+
+/****
+ *BYTE_TO_SINT
+ */
+ case function_byte_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_sint*/
+ break;
+
+/****
+ *BYTE_TO_INT
+ */
+ case function_byte_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_int*/
+ break;
+
+/****
+ *BYTE_TO_DINT
+ */
+ case function_byte_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dint*/
+ break;
+
+/****
+ *BYTE_TO_LINT
+ */
+ case function_byte_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lint*/
+ break;
+
+/****
+ *BYTE_TO_USINT
+ */
+ case function_byte_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_usint*/
+ break;
+
+/****
+ *BYTE_TO_UINT
+ */
+ case function_byte_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_uint*/
+ break;
+
+/****
+ *BYTE_TO_UDINT
+ */
+ case function_byte_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_udint*/
+ break;
+
+/****
+ *BYTE_TO_ULINT
+ */
+ case function_byte_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_ulint*/
+ break;
+
+/****
+ *BYTE_TO_TIME
+ */
+ case function_byte_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_time*/
+ break;
+
+/****
+ *BYTE_TO_BOOL
+ */
+ case function_byte_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
@@ -1125,28 +8606,717 @@
ERROR;
}
- }/*function_lreal_to_bool*/
- break;
-
-/****
- *LREAL_TO_BYTE
- */
- case function_lreal_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_byte_to_bool*/
+ break;
+
+/****
+ *BYTE_TO_WORD
+ */
+ case function_byte_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_word*/
+ break;
+
+/****
+ *BYTE_TO_DWORD
+ */
+ case function_byte_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dword*/
+ break;
+
+/****
+ *BYTE_TO_LWORD
+ */
+ case function_byte_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_lword*/
+ break;
+
+/****
+ *BYTE_TO_STRING
+ */
+ case function_byte_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__bit_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_string*/
+ break;
+
+/****
+ *BYTE_TO_DATE
+ */
+ case function_byte_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_date*/
+ break;
+
+/****
+ *BYTE_TO_TOD
+ */
+ case function_byte_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_tod*/
+ break;
+
+/****
+ *BYTE_TO_DT
+ */
+ case function_byte_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_byte_to_dt*/
+ break;
+
+/****
+ *WORD_TO_REAL
+ */
+ case function_word_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_real*/
+ break;
+
+/****
+ *WORD_TO_LREAL
+ */
+ case function_word_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lreal*/
+ break;
+
+/****
+ *WORD_TO_SINT
+ */
+ case function_word_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_sint*/
+ break;
+
+/****
+ *WORD_TO_INT
+ */
+ case function_word_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_int*/
+ break;
+
+/****
+ *WORD_TO_DINT
+ */
+ case function_word_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dint*/
+ break;
+
+/****
+ *WORD_TO_LINT
+ */
+ case function_word_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lint*/
+ break;
+
+/****
+ *WORD_TO_USINT
+ */
+ case function_word_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_usint*/
+ break;
+
+/****
+ *WORD_TO_UINT
+ */
+ case function_word_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_uint*/
+ break;
+
+/****
+ *WORD_TO_UDINT
+ */
+ case function_word_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_udint*/
+ break;
+
+/****
+ *WORD_TO_ULINT
+ */
+ case function_word_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_ulint*/
+ break;
+
+/****
+ *WORD_TO_TIME
+ */
+ case function_word_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_time*/
+ break;
+
+/****
+ *WORD_TO_BOOL
+ */
+ case function_word_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_bool*/
+ break;
+
+/****
+ *WORD_TO_BYTE
+ */
+ case function_word_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -1161,28 +9331,717 @@
ERROR;
}
- }/*function_lreal_to_byte*/
- break;
-
-/****
- *LREAL_TO_WORD
- */
- case function_lreal_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_word_to_byte*/
+ break;
+
+/****
+ *WORD_TO_DWORD
+ */
+ case function_word_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dword*/
+ break;
+
+/****
+ *WORD_TO_LWORD
+ */
+ case function_word_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_lword*/
+ break;
+
+/****
+ *WORD_TO_STRING
+ */
+ case function_word_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__bit_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_string*/
+ break;
+
+/****
+ *WORD_TO_DATE
+ */
+ case function_word_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_date*/
+ break;
+
+/****
+ *WORD_TO_TOD
+ */
+ case function_word_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_tod*/
+ break;
+
+/****
+ *WORD_TO_DT
+ */
+ case function_word_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_word_to_dt*/
+ break;
+
+/****
+ *DWORD_TO_REAL
+ */
+ case function_dword_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_real*/
+ break;
+
+/****
+ *DWORD_TO_LREAL
+ */
+ case function_dword_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lreal*/
+ break;
+
+/****
+ *DWORD_TO_SINT
+ */
+ case function_dword_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_sint*/
+ break;
+
+/****
+ *DWORD_TO_INT
+ */
+ case function_dword_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_int*/
+ break;
+
+/****
+ *DWORD_TO_DINT
+ */
+ case function_dword_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_dint*/
+ break;
+
+/****
+ *DWORD_TO_LINT
+ */
+ case function_dword_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lint*/
+ break;
+
+/****
+ *DWORD_TO_USINT
+ */
+ case function_dword_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_usint*/
+ break;
+
+/****
+ *DWORD_TO_UINT
+ */
+ case function_dword_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_uint*/
+ break;
+
+/****
+ *DWORD_TO_UDINT
+ */
+ case function_dword_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_udint*/
+ break;
+
+/****
+ *DWORD_TO_ULINT
+ */
+ case function_dword_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_ulint*/
+ break;
+
+/****
+ *DWORD_TO_TIME
+ */
+ case function_dword_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_time*/
+ break;
+
+/****
+ *DWORD_TO_BOOL
+ */
+ case function_dword_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_bool*/
+ break;
+
+/****
+ *DWORD_TO_BYTE
+ */
+ case function_dword_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_byte*/
+ break;
+
+/****
+ *DWORD_TO_WORD
+ */
+ case function_dword_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -1197,28 +10056,717 @@
ERROR;
}
- }/*function_lreal_to_word*/
- break;
-
-/****
- *LREAL_TO_DWORD
- */
- case function_lreal_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_dword_to_word*/
+ break;
+
+/****
+ *DWORD_TO_LWORD
+ */
+ case function_dword_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_lword*/
+ break;
+
+/****
+ *DWORD_TO_STRING
+ */
+ case function_dword_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__bit_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_string*/
+ break;
+
+/****
+ *DWORD_TO_DATE
+ */
+ case function_dword_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_date*/
+ break;
+
+/****
+ *DWORD_TO_TOD
+ */
+ case function_dword_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_tod*/
+ break;
+
+/****
+ *DWORD_TO_DT
+ */
+ case function_dword_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dword_to_dt*/
+ break;
+
+/****
+ *LWORD_TO_REAL
+ */
+ case function_lword_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_real*/
+ break;
+
+/****
+ *LWORD_TO_LREAL
+ */
+ case function_lword_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_lreal*/
+ break;
+
+/****
+ *LWORD_TO_SINT
+ */
+ case function_lword_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_sint*/
+ break;
+
+/****
+ *LWORD_TO_INT
+ */
+ case function_lword_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_int*/
+ break;
+
+/****
+ *LWORD_TO_DINT
+ */
+ case function_lword_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dint*/
+ break;
+
+/****
+ *LWORD_TO_LINT
+ */
+ case function_lword_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_lint*/
+ break;
+
+/****
+ *LWORD_TO_USINT
+ */
+ case function_lword_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_usint*/
+ break;
+
+/****
+ *LWORD_TO_UINT
+ */
+ case function_lword_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_uint*/
+ break;
+
+/****
+ *LWORD_TO_UDINT
+ */
+ case function_lword_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_udint*/
+ break;
+
+/****
+ *LWORD_TO_ULINT
+ */
+ case function_lword_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_ulint*/
+ break;
+
+/****
+ *LWORD_TO_TIME
+ */
+ case function_lword_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_time*/
+ break;
+
+/****
+ *LWORD_TO_BOOL
+ */
+ case function_lword_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_bool*/
+ break;
+
+/****
+ *LWORD_TO_BYTE
+ */
+ case function_lword_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_byte*/
+ break;
+
+/****
+ *LWORD_TO_WORD
+ */
+ case function_lword_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")");
+ IN_param_value->accept(*this);
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_word*/
+ break;
+
+/****
+ *LWORD_TO_DWORD
+ */
+ case function_lword_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -1233,13541 +10781,2624 @@
ERROR;
}
- }/*function_lreal_to_dword*/
- break;
-
-/****
- *LREAL_TO_LWORD
- */
- case function_lreal_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ }/*function_lword_to_dword*/
+ break;
+
+/****
+ *LWORD_TO_STRING
+ */
+ case function_lword_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__bit_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_string*/
+ break;
+
+/****
+ *LWORD_TO_DATE
+ */
+ case function_lword_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_date*/
+ break;
+
+/****
+ *LWORD_TO_TOD
+ */
+ case function_lword_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_tod*/
+ break;
+
+/****
+ *LWORD_TO_DT
+ */
+ case function_lword_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__int_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_lword_to_dt*/
+ break;
+
+/****
+ *STRING_TO_REAL
+ */
+ case function_string_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_real*/
+ break;
+
+/****
+ *STRING_TO_LREAL
+ */
+ case function_string_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lreal*/
+ break;
+
+/****
+ *STRING_TO_SINT
+ */
+ case function_string_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_sint(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_sint*/
+ break;
+
+/****
+ *STRING_TO_INT
+ */
+ case function_string_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_sint(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_int*/
+ break;
+
+/****
+ *STRING_TO_DINT
+ */
+ case function_string_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_sint(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dint*/
+ break;
+
+/****
+ *STRING_TO_LINT
+ */
+ case function_string_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_sint(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lint*/
+ break;
+
+/****
+ *STRING_TO_USINT
+ */
+ case function_string_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_uint(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_usint*/
+ break;
+
+/****
+ *STRING_TO_UINT
+ */
+ case function_string_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_uint(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_uint*/
+ break;
+
+/****
+ *STRING_TO_UDINT
+ */
+ case function_string_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_uint(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_udint*/
+ break;
+
+/****
+ *STRING_TO_ULINT
+ */
+ case function_string_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_uint(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_ulint*/
+ break;
+
+/****
+ *STRING_TO_TIME
+ */
+ case function_string_to_time :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_time*/
+ break;
+
+/****
+ *STRING_TO_BOOL
+ */
+ case function_string_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_bool(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_bool*/
+ break;
+
+/****
+ *STRING_TO_BYTE
+ */
+ case function_string_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_bit(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_byte*/
+ break;
+
+/****
+ *STRING_TO_WORD
+ */
+ case function_string_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_bit(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_word*/
+ break;
+
+/****
+ *STRING_TO_DWORD
+ */
+ case function_string_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_bit(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dword*/
+ break;
+
+/****
+ *STRING_TO_LWORD
+ */
+ case function_string_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_lword*/
- break;
-
-/****
- *LREAL_TO_STRING
- */
- case function_lreal_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+ s4o.print(")__string_to_bit(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_lword*/
+ break;
+
+/****
+ *STRING_TO_DATE
+ */
+ case function_string_to_date :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_date*/
+ break;
+
+/****
+ *STRING_TO_TOD
+ */
+ case function_string_to_tod :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_tod*/
+ break;
+
+/****
+ *STRING_TO_DT
+ */
+ case function_string_to_dt :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__string_to_time(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_string_to_dt*/
+ break;
+
+/****
+ *DATE_TO_REAL
+ */
+ case function_date_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_real*/
+ break;
+
+/****
+ *DATE_TO_LREAL
+ */
+ case function_date_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lreal*/
+ break;
+
+/****
+ *DATE_TO_SINT
+ */
+ case function_date_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_sint*/
+ break;
+
+/****
+ *DATE_TO_INT
+ */
+ case function_date_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_int*/
+ break;
+
+/****
+ *DATE_TO_DINT
+ */
+ case function_date_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_dint*/
+ break;
+
+/****
+ *DATE_TO_LINT
+ */
+ case function_date_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lint*/
+ break;
+
+/****
+ *DATE_TO_USINT
+ */
+ case function_date_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_usint*/
+ break;
+
+/****
+ *DATE_TO_UINT
+ */
+ case function_date_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_uint*/
+ break;
+
+/****
+ *DATE_TO_UDINT
+ */
+ case function_date_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_udint*/
+ break;
+
+/****
+ *DATE_TO_ULINT
+ */
+ case function_date_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_ulint*/
+ break;
+
+/****
+ *DATE_TO_BOOL
+ */
+ case function_date_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_bool*/
+ break;
+
+/****
+ *DATE_TO_BYTE
+ */
+ case function_date_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_byte*/
+ break;
+
+/****
+ *DATE_TO_WORD
+ */
+ case function_date_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_word*/
+ break;
+
+/****
+ *DATE_TO_DWORD
+ */
+ case function_date_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_dword*/
+ break;
+
+/****
+ *DATE_TO_LWORD
+ */
+ case function_date_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_lword*/
+ break;
+
+/****
+ *DATE_TO_STRING
+ */
+ case function_date_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(date_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_string*/
- break;
-
-/****
- *LREAL_TO_WSTRING
- */
- case function_lreal_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_wstring*/
- break;
-
-/****
- *LREAL_TO_DATE
- */
- case function_lreal_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_date*/
- break;
-
-/****
- *LREAL_TO_TOD
- */
- case function_lreal_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_tod*/
- break;
-
-/****
- *LREAL_TO_DT
- */
- case function_lreal_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lreal_to_dt*/
- break;
-
-/****
- *SINT_TO_REAL
- */
- case function_sint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__date_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_date_to_string*/
+ break;
+
+/****
+ *TOD_TO_REAL
+ */
+ case function_tod_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_real*/
- break;
-
-/****
- *SINT_TO_LREAL
- */
- case function_sint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_real*/
+ break;
+
+/****
+ *TOD_TO_LREAL
+ */
+ case function_tod_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_lreal*/
- break;
-
-/****
- *SINT_TO_INT
- */
- case function_sint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lreal*/
+ break;
+
+/****
+ *TOD_TO_SINT
+ */
+ case function_tod_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_sint*/
+ break;
+
+/****
+ *TOD_TO_INT
+ */
+ case function_tod_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_int*/
- break;
-
-/****
- *SINT_TO_DINT
- */
- case function_sint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_int*/
+ break;
+
+/****
+ *TOD_TO_DINT
+ */
+ case function_tod_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_dint*/
- break;
-
-/****
- *SINT_TO_LINT
- */
- case function_sint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_dint*/
+ break;
+
+/****
+ *TOD_TO_LINT
+ */
+ case function_tod_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_lint*/
- break;
-
-/****
- *SINT_TO_USINT
- */
- case function_sint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lint*/
+ break;
+
+/****
+ *TOD_TO_USINT
+ */
+ case function_tod_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_usint*/
- break;
-
-/****
- *SINT_TO_UINT
- */
- case function_sint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_usint*/
+ break;
+
+/****
+ *TOD_TO_UINT
+ */
+ case function_tod_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_uint*/
- break;
-
-/****
- *SINT_TO_UDINT
- */
- case function_sint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_uint*/
+ break;
+
+/****
+ *TOD_TO_UDINT
+ */
+ case function_tod_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_udint*/
- break;
-
-/****
- *SINT_TO_ULINT
- */
- case function_sint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_udint*/
+ break;
+
+/****
+ *TOD_TO_ULINT
+ */
+ case function_tod_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_ulint*/
- break;
-
-/****
- *SINT_TO_TIME
- */
- case function_sint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_time*/
- break;
-
-/****
- *SINT_TO_BOOL
- */
- case function_sint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_ulint*/
+ break;
+
+/****
+ *TOD_TO_BOOL
+ */
+ case function_tod_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_bool*/
- break;
-
-/****
- *SINT_TO_BYTE
- */
- case function_sint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_bool*/
+ break;
+
+/****
+ *TOD_TO_BYTE
+ */
+ case function_tod_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_byte*/
- break;
-
-/****
- *SINT_TO_WORD
- */
- case function_sint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_byte*/
+ break;
+
+/****
+ *TOD_TO_WORD
+ */
+ case function_tod_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_word*/
- break;
-
-/****
- *SINT_TO_DWORD
- */
- case function_sint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_word*/
+ break;
+
+/****
+ *TOD_TO_DWORD
+ */
+ case function_tod_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_dword*/
- break;
-
-/****
- *SINT_TO_LWORD
- */
- case function_sint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_dword*/
+ break;
+
+/****
+ *TOD_TO_LWORD
+ */
+ case function_tod_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_lword*/
- break;
-
-/****
- *SINT_TO_STRING
- */
- case function_sint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_lword*/
+ break;
+
+/****
+ *TOD_TO_STRING
+ */
+ case function_tod_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_string*/
- break;
-
-/****
- *SINT_TO_WSTRING
- */
- case function_sint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_wstring*/
- break;
-
-/****
- *SINT_TO_DATE
- */
- case function_sint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_date*/
- break;
-
-/****
- *SINT_TO_TOD
- */
- case function_sint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_tod*/
- break;
-
-/****
- *SINT_TO_DT
- */
- case function_sint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_dt*/
- break;
-
-/****
- *INT_TO_REAL
- */
- case function_int_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__tod_to_string(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_tod_to_string*/
+ break;
+
+/****
+ *DT_TO_REAL
+ */
+ case function_dt_to_real :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_real*/
- break;
-
-/****
- *INT_TO_LREAL
- */
- case function_int_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_real*/
+ break;
+
+/****
+ *DT_TO_LREAL
+ */
+ case function_dt_to_lreal :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_lreal*/
- break;
-
-/****
- *INT_TO_SINT
- */
- case function_int_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_real(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lreal*/
+ break;
+
+/****
+ *DT_TO_SINT
+ */
+ case function_dt_to_sint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_sint*/
- break;
-
-/****
- *INT_TO_DINT
- */
- case function_int_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_sint*/
+ break;
+
+/****
+ *DT_TO_INT
+ */
+ case function_dt_to_int :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+ {
+
+ symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_int*/
+ break;
+
+/****
+ *DT_TO_DINT
+ */
+ case function_dt_to_dint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_dint*/
- break;
-
-/****
- *INT_TO_LINT
- */
- case function_int_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_dint*/
+ break;
+
+/****
+ *DT_TO_LINT
+ */
+ case function_dt_to_lint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_lint*/
- break;
-
-/****
- *INT_TO_USINT
- */
- case function_int_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lint*/
+ break;
+
+/****
+ *DT_TO_USINT
+ */
+ case function_dt_to_usint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_usint*/
- break;
-
-/****
- *INT_TO_UINT
- */
- case function_int_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_usint*/
+ break;
+
+/****
+ *DT_TO_UINT
+ */
+ case function_dt_to_uint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_uint*/
- break;
-
-/****
- *INT_TO_UDINT
- */
- case function_int_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_uint*/
+ break;
+
+/****
+ *DT_TO_UDINT
+ */
+ case function_dt_to_udint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_udint*/
- break;
-
-/****
- *INT_TO_ULINT
- */
- case function_int_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_udint*/
+ break;
+
+/****
+ *DT_TO_ULINT
+ */
+ case function_dt_to_ulint :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_ulint*/
- break;
-
-/****
- *INT_TO_TIME
- */
- case function_int_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_time*/
- break;
-
-/****
- *INT_TO_BOOL
- */
- case function_int_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_ulint*/
+ break;
+
+/****
+ *DT_TO_BOOL
+ */
+ case function_dt_to_bool :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_bool*/
- break;
-
-/****
- *INT_TO_BYTE
- */
- case function_int_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_bool*/
+ break;
+
+/****
+ *DT_TO_BYTE
+ */
+ case function_dt_to_byte :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_byte*/
- break;
-
-/****
- *INT_TO_WORD
- */
- case function_int_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_byte*/
+ break;
+
+/****
+ *DT_TO_WORD
+ */
+ case function_dt_to_word :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_word*/
- break;
-
-/****
- *INT_TO_DWORD
- */
- case function_int_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_word*/
+ break;
+
+/****
+ *DT_TO_DWORD
+ */
+ case function_dt_to_dword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_dword*/
- break;
-
-/****
- *INT_TO_LWORD
- */
- case function_int_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_dword*/
+ break;
+
+/****
+ *DT_TO_LWORD
+ */
+ case function_dt_to_lword :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_lword*/
- break;
-
-/****
- *INT_TO_STRING
- */
- case function_int_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print(")__time_to_int(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_dt_to_lword*/
+ break;
+
+/****
+ *DT_TO_STRING
+ */
+ case function_dt_to_string :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
s4o.print("(");
return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_string*/
- break;
-
-/****
- *INT_TO_WSTRING
- */
- case function_int_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_wstring*/
- break;
-
-/****
- *INT_TO_DATE
- */
- case function_int_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_date*/
- break;
-
-/****
- *INT_TO_TOD
- */
- case function_int_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_tod*/
- break;
-
-/****
- *INT_TO_DT
- */
- case function_int_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_dt*/
- break;
-
-/****
- *DINT_TO_REAL
- */
- case function_dint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_real*/
- break;
-
-/****
- *DINT_TO_LREAL
- */
- case function_dint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_lreal*/
- break;
-
-/****
- *DINT_TO_SINT
- */
- case function_dint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_sint*/
- break;
-
-/****
- *DINT_TO_INT
- */
- case function_dint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_int*/
- break;
-
-/****
- *DINT_TO_LINT
- */
- case function_dint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_lint*/
- break;
-
-/****
- *DINT_TO_USINT
- */
- case function_dint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_usint*/
- break;
-
-/****
- *DINT_TO_UINT
- */
- case function_dint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_uint*/
- break;
-
-/****
- *DINT_TO_UDINT
- */
- case function_dint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_udint*/
- break;
-
-/****
- *DINT_TO_ULINT
- */
- case function_dint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_ulint*/
- break;
-
-/****
- *DINT_TO_TIME
- */
- case function_dint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_time*/
- break;
-
-/****
- *DINT_TO_BOOL
- */
- case function_dint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_bool*/
- break;
-
-/****
- *DINT_TO_BYTE
- */
- case function_dint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_byte*/
- break;
-
-/****
- *DINT_TO_WORD
- */
- case function_dint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_word*/
- break;
-
-/****
- *DINT_TO_DWORD
- */
- case function_dint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_dword*/
- break;
-
-/****
- *DINT_TO_LWORD
- */
- case function_dint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_lword*/
- break;
-
-/****
- *DINT_TO_STRING
- */
- case function_dint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_string*/
- break;
-
-/****
- *DINT_TO_WSTRING
- */
- case function_dint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_wstring*/
- break;
-
-/****
- *DINT_TO_DATE
- */
- case function_dint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_date*/
- break;
-
-/****
- *DINT_TO_TOD
- */
- case function_dint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_tod*/
- break;
-
-/****
- *DINT_TO_DT
- */
- case function_dint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_dt*/
- break;
-
-/****
- *LINT_TO_REAL
- */
- case function_lint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_real*/
- break;
-
-/****
- *LINT_TO_LREAL
- */
- case function_lint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_lreal*/
- break;
-
-/****
- *LINT_TO_SINT
- */
- case function_lint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_sint*/
- break;
-
-/****
- *LINT_TO_INT
- */
- case function_lint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_int*/
- break;
-
-/****
- *LINT_TO_DINT
- */
- case function_lint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_dint*/
- break;
-
-/****
- *LINT_TO_USINT
- */
- case function_lint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_usint*/
- break;
-
-/****
- *LINT_TO_UINT
- */
- case function_lint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_uint*/
- break;
-
-/****
- *LINT_TO_UDINT
- */
- case function_lint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_udint*/
- break;
-
-/****
- *LINT_TO_ULINT
- */
- case function_lint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_ulint*/
- break;
-
-/****
- *LINT_TO_TIME
- */
- case function_lint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_time*/
- break;
-
-/****
- *LINT_TO_BOOL
- */
- case function_lint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_bool*/
- break;
-
-/****
- *LINT_TO_BYTE
- */
- case function_lint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_byte*/
- break;
-
-/****
- *LINT_TO_WORD
- */
- case function_lint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_word*/
- break;
-
-/****
- *LINT_TO_DWORD
- */
- case function_lint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_dword*/
- break;
-
-/****
- *LINT_TO_LWORD
- */
- case function_lint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_lword*/
- break;
-
-/****
- *LINT_TO_STRING
- */
- case function_lint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_string*/
- break;
-
-/****
- *LINT_TO_WSTRING
- */
- case function_lint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_wstring*/
- break;
-
-/****
- *LINT_TO_DATE
- */
- case function_lint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_date*/
- break;
-
-/****
- *LINT_TO_TOD
- */
- case function_lint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_tod*/
- break;
-
-/****
- *LINT_TO_DT
- */
- case function_lint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_dt*/
- break;
-
-/****
- *USINT_TO_REAL
- */
- case function_usint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_real*/
- break;
-
-/****
- *USINT_TO_LREAL
- */
- case function_usint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_lreal*/
- break;
-
-/****
- *USINT_TO_SINT
- */
- case function_usint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_sint*/
- break;
-
-/****
- *USINT_TO_INT
- */
- case function_usint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_int*/
- break;
-
-/****
- *USINT_TO_DINT
- */
- case function_usint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_dint*/
- break;
-
-/****
- *USINT_TO_LINT
- */
- case function_usint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_lint*/
- break;
-
-/****
- *USINT_TO_UINT
- */
- case function_usint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_uint*/
- break;
-
-/****
- *USINT_TO_UDINT
- */
- case function_usint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_udint*/
- break;
-
-/****
- *USINT_TO_ULINT
- */
- case function_usint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_ulint*/
- break;
-
-/****
- *USINT_TO_TIME
- */
- case function_usint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_time*/
- break;
-
-/****
- *USINT_TO_BOOL
- */
- case function_usint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_bool*/
- break;
-
-/****
- *USINT_TO_BYTE
- */
- case function_usint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_byte*/
- break;
-
-/****
- *USINT_TO_WORD
- */
- case function_usint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_word*/
- break;
-
-/****
- *USINT_TO_DWORD
- */
- case function_usint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_dword*/
- break;
-
-/****
- *USINT_TO_LWORD
- */
- case function_usint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_lword*/
- break;
-
-/****
- *USINT_TO_STRING
- */
- case function_usint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_string*/
- break;
-
-/****
- *USINT_TO_WSTRING
- */
- case function_usint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_wstring*/
- break;
-
-/****
- *USINT_TO_DATE
- */
- case function_usint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_date*/
- break;
-
-/****
- *USINT_TO_TOD
- */
- case function_usint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_tod*/
- break;
-
-/****
- *USINT_TO_DT
- */
- case function_usint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_dt*/
- break;
-
-/****
- *UINT_TO_REAL
- */
- case function_uint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_real*/
- break;
-
-/****
- *UINT_TO_LREAL
- */
- case function_uint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_lreal*/
- break;
-
-/****
- *UINT_TO_SINT
- */
- case function_uint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_sint*/
- break;
-
-/****
- *UINT_TO_INT
- */
- case function_uint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_int*/
- break;
-
-/****
- *UINT_TO_DINT
- */
- case function_uint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_dint*/
- break;
-
-/****
- *UINT_TO_LINT
- */
- case function_uint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_lint*/
- break;
-
-/****
- *UINT_TO_USINT
- */
- case function_uint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_usint*/
- break;
-
-/****
- *UINT_TO_UDINT
- */
- case function_uint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_udint*/
- break;
-
-/****
- *UINT_TO_ULINT
- */
- case function_uint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_ulint*/
- break;
-
-/****
- *UINT_TO_TIME
- */
- case function_uint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_time*/
- break;
-
-/****
- *UINT_TO_BOOL
- */
- case function_uint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_bool*/
- break;
-
-/****
- *UINT_TO_BYTE
- */
- case function_uint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_byte*/
- break;
-
-/****
- *UINT_TO_WORD
- */
- case function_uint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_word*/
- break;
-
-/****
- *UINT_TO_DWORD
- */
- case function_uint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_dword*/
- break;
-
-/****
- *UINT_TO_LWORD
- */
- case function_uint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_lword*/
- break;
-
-/****
- *UINT_TO_STRING
- */
- case function_uint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_string*/
- break;
-
-/****
- *UINT_TO_WSTRING
- */
- case function_uint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_wstring*/
- break;
-
-/****
- *UINT_TO_DATE
- */
- case function_uint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_date*/
- break;
-
-/****
- *UINT_TO_TOD
- */
- case function_uint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_tod*/
- break;
-
-/****
- *UINT_TO_DT
- */
- case function_uint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_dt*/
- break;
-
-/****
- *UDINT_TO_REAL
- */
- case function_udint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_real*/
- break;
-
-/****
- *UDINT_TO_LREAL
- */
- case function_udint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_lreal*/
- break;
-
-/****
- *UDINT_TO_SINT
- */
- case function_udint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_sint*/
- break;
-
-/****
- *UDINT_TO_INT
- */
- case function_udint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_int*/
- break;
-
-/****
- *UDINT_TO_DINT
- */
- case function_udint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_dint*/
- break;
-
-/****
- *UDINT_TO_LINT
- */
- case function_udint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_lint*/
- break;
-
-/****
- *UDINT_TO_USINT
- */
- case function_udint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_usint*/
- break;
-
-/****
- *UDINT_TO_UINT
- */
- case function_udint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_uint*/
- break;
-
-/****
- *UDINT_TO_ULINT
- */
- case function_udint_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_ulint*/
- break;
-
-/****
- *UDINT_TO_TIME
- */
- case function_udint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_time*/
- break;
-
-/****
- *UDINT_TO_BOOL
- */
- case function_udint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_bool*/
- break;
-
-/****
- *UDINT_TO_BYTE
- */
- case function_udint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_byte*/
- break;
-
-/****
- *UDINT_TO_WORD
- */
- case function_udint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_word*/
- break;
-
-/****
- *UDINT_TO_DWORD
- */
- case function_udint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_dword*/
- break;
-
-/****
- *UDINT_TO_LWORD
- */
- case function_udint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_lword*/
- break;
-
-/****
- *UDINT_TO_STRING
- */
- case function_udint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_string*/
- break;
-
-/****
- *UDINT_TO_WSTRING
- */
- case function_udint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_wstring*/
- break;
-
-/****
- *UDINT_TO_DATE
- */
- case function_udint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_date*/
- break;
-
-/****
- *UDINT_TO_TOD
- */
- case function_udint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_tod*/
- break;
-
-/****
- *UDINT_TO_DT
- */
- case function_udint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_dt*/
- break;
-
-/****
- *ULINT_TO_REAL
- */
- case function_ulint_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_real*/
- break;
-
-/****
- *ULINT_TO_LREAL
- */
- case function_ulint_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_lreal*/
- break;
-
-/****
- *ULINT_TO_SINT
- */
- case function_ulint_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_sint*/
- break;
-
-/****
- *ULINT_TO_INT
- */
- case function_ulint_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_int*/
- break;
-
-/****
- *ULINT_TO_DINT
- */
- case function_ulint_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_dint*/
- break;
-
-/****
- *ULINT_TO_LINT
- */
- case function_ulint_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_lint*/
- break;
-
-/****
- *ULINT_TO_USINT
- */
- case function_ulint_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_usint*/
- break;
-
-/****
- *ULINT_TO_UINT
- */
- case function_ulint_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_uint*/
- break;
-
-/****
- *ULINT_TO_UDINT
- */
- case function_ulint_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_udint*/
- break;
-
-/****
- *ULINT_TO_TIME
- */
- case function_ulint_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_time*/
- break;
-
-/****
- *ULINT_TO_BOOL
- */
- case function_ulint_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_bool*/
- break;
-
-/****
- *ULINT_TO_BYTE
- */
- case function_ulint_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_byte*/
- break;
-
-/****
- *ULINT_TO_WORD
- */
- case function_ulint_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_word*/
- break;
-
-/****
- *ULINT_TO_DWORD
- */
- case function_ulint_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_dword*/
- break;
-
-/****
- *ULINT_TO_LWORD
- */
- case function_ulint_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_lword*/
- break;
-
-/****
- *ULINT_TO_STRING
- */
- case function_ulint_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_string*/
- break;
-
-/****
- *ULINT_TO_WSTRING
- */
- case function_ulint_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_wstring*/
- break;
-
-/****
- *ULINT_TO_DATE
- */
- case function_ulint_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_date*/
- break;
-
-/****
- *ULINT_TO_TOD
- */
- case function_ulint_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_tod*/
- break;
-
-/****
- *ULINT_TO_DT
- */
- case function_ulint_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_ulint_to_dt*/
- break;
-
-/****
- *TIME_TO_REAL
- */
- case function_time_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_real*/
- break;
-
-/****
- *TIME_TO_LREAL
- */
- case function_time_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_lreal*/
- break;
-
-/****
- *TIME_TO_SINT
- */
- case function_time_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_sint*/
- break;
-
-/****
- *TIME_TO_INT
- */
- case function_time_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_int*/
- break;
-
-/****
- *TIME_TO_DINT
- */
- case function_time_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_dint*/
- break;
-
-/****
- *TIME_TO_LINT
- */
- case function_time_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_lint*/
- break;
-
-/****
- *TIME_TO_USINT
- */
- case function_time_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_usint*/
- break;
-
-/****
- *TIME_TO_UINT
- */
- case function_time_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_uint*/
- break;
-
-/****
- *TIME_TO_UDINT
- */
- case function_time_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_udint*/
- break;
-
-/****
- *TIME_TO_ULINT
- */
- case function_time_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_ulint*/
- break;
-
-/****
- *TIME_TO_BOOL
- */
- case function_time_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_bool*/
- break;
-
-/****
- *TIME_TO_BYTE
- */
- case function_time_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_byte*/
- break;
-
-/****
- *TIME_TO_WORD
- */
- case function_time_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_word*/
- break;
-
-/****
- *TIME_TO_DWORD
- */
- case function_time_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_dword*/
- break;
-
-/****
- *TIME_TO_LWORD
- */
- case function_time_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_lword*/
- break;
-
-/****
- *TIME_TO_STRING
- */
- case function_time_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_string*/
- break;
-
-/****
- *TIME_TO_WSTRING
- */
- case function_time_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(time_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_time_to_wstring*/
- break;
-
-/****
- *BOOL_TO_REAL
- */
- case function_bool_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_real*/
- break;
-
-/****
- *BOOL_TO_LREAL
- */
- case function_bool_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_lreal*/
- break;
-
-/****
- *BOOL_TO_SINT
- */
- case function_bool_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_sint*/
- break;
-
-/****
- *BOOL_TO_INT
- */
- case function_bool_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_int*/
- break;
-
-/****
- *BOOL_TO_DINT
- */
- case function_bool_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_dint*/
- break;
-
-/****
- *BOOL_TO_LINT
- */
- case function_bool_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_lint*/
- break;
-
-/****
- *BOOL_TO_USINT
- */
- case function_bool_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_usint*/
- break;
-
-/****
- *BOOL_TO_UINT
- */
- case function_bool_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_uint*/
- break;
-
-/****
- *BOOL_TO_UDINT
- */
- case function_bool_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_udint*/
- break;
-
-/****
- *BOOL_TO_ULINT
- */
- case function_bool_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_ulint*/
- break;
-
-/****
- *BOOL_TO_TIME
- */
- case function_bool_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_time*/
- break;
-
-/****
- *BOOL_TO_BYTE
- */
- case function_bool_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_byte*/
- break;
-
-/****
- *BOOL_TO_WORD
- */
- case function_bool_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_word*/
- break;
-
-/****
- *BOOL_TO_DWORD
- */
- case function_bool_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_dword*/
- break;
-
-/****
- *BOOL_TO_LWORD
- */
- case function_bool_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_lword*/
- break;
-
-/****
- *BOOL_TO_STRING
- */
- case function_bool_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_string*/
- break;
-
-/****
- *BOOL_TO_WSTRING
- */
- case function_bool_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_wstring*/
- break;
-
-/****
- *BOOL_TO_DATE
- */
- case function_bool_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_date*/
- break;
-
-/****
- *BOOL_TO_TOD
- */
- case function_bool_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_tod*/
- break;
-
-/****
- *BOOL_TO_DT
- */
- case function_bool_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bool_to_dt*/
- break;
-
-/****
- *BYTE_TO_REAL
- */
- case function_byte_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_real*/
- break;
-
-/****
- *BYTE_TO_LREAL
- */
- case function_byte_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_lreal*/
- break;
-
-/****
- *BYTE_TO_SINT
- */
- case function_byte_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_sint*/
- break;
-
-/****
- *BYTE_TO_INT
- */
- case function_byte_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_int*/
- break;
-
-/****
- *BYTE_TO_DINT
- */
- case function_byte_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_dint*/
- break;
-
-/****
- *BYTE_TO_LINT
- */
- case function_byte_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_lint*/
- break;
-
-/****
- *BYTE_TO_USINT
- */
- case function_byte_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_usint*/
- break;
-
-/****
- *BYTE_TO_UINT
- */
- case function_byte_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_uint*/
- break;
-
-/****
- *BYTE_TO_UDINT
- */
- case function_byte_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_udint*/
- break;
-
-/****
- *BYTE_TO_ULINT
- */
- case function_byte_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_ulint*/
- break;
-
-/****
- *BYTE_TO_TIME
- */
- case function_byte_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_time*/
- break;
-
-/****
- *BYTE_TO_BOOL
- */
- case function_byte_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_bool*/
- break;
-
-/****
- *BYTE_TO_WORD
- */
- case function_byte_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_word*/
- break;
-
-/****
- *BYTE_TO_DWORD
- */
- case function_byte_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_dword*/
- break;
-
-/****
- *BYTE_TO_LWORD
- */
- case function_byte_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_lword*/
- break;
-
-/****
- *BYTE_TO_STRING
- */
- case function_byte_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_string*/
- break;
-
-/****
- *BYTE_TO_WSTRING
- */
- case function_byte_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_wstring*/
- break;
-
-/****
- *BYTE_TO_DATE
- */
- case function_byte_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_date*/
- break;
-
-/****
- *BYTE_TO_TOD
- */
- case function_byte_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_tod*/
- break;
-
-/****
- *BYTE_TO_DT
- */
- case function_byte_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_byte_to_dt*/
- break;
-
-/****
- *WORD_TO_REAL
- */
- case function_word_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_real*/
- break;
-
-/****
- *WORD_TO_LREAL
- */
- case function_word_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_lreal*/
- break;
-
-/****
- *WORD_TO_SINT
- */
- case function_word_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_sint*/
- break;
-
-/****
- *WORD_TO_INT
- */
- case function_word_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_int*/
- break;
-
-/****
- *WORD_TO_DINT
- */
- case function_word_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_dint*/
- break;
-
-/****
- *WORD_TO_LINT
- */
- case function_word_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_lint*/
- break;
-
-/****
- *WORD_TO_USINT
- */
- case function_word_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_usint*/
- break;
-
-/****
- *WORD_TO_UINT
- */
- case function_word_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_uint*/
- break;
-
-/****
- *WORD_TO_UDINT
- */
- case function_word_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_udint*/
- break;
-
-/****
- *WORD_TO_ULINT
- */
- case function_word_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_ulint*/
- break;
-
-/****
- *WORD_TO_TIME
- */
- case function_word_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_time*/
- break;
-
-/****
- *WORD_TO_BOOL
- */
- case function_word_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_bool*/
- break;
-
-/****
- *WORD_TO_BYTE
- */
- case function_word_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_byte*/
- break;
-
-/****
- *WORD_TO_DWORD
- */
- case function_word_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_dword*/
- break;
-
-/****
- *WORD_TO_LWORD
- */
- case function_word_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_lword*/
- break;
-
-/****
- *WORD_TO_STRING
- */
- case function_word_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_string*/
- break;
-
-/****
- *WORD_TO_WSTRING
- */
- case function_word_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_wstring*/
- break;
-
-/****
- *WORD_TO_DATE
- */
- case function_word_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_date*/
- break;
-
-/****
- *WORD_TO_TOD
- */
- case function_word_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_tod*/
- break;
-
-/****
- *WORD_TO_DT
- */
- case function_word_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(word_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_word_to_dt*/
- break;
-
-/****
- *DWORD_TO_REAL
- */
- case function_dword_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_real*/
- break;
-
-/****
- *DWORD_TO_LREAL
- */
- case function_dword_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_lreal*/
- break;
-
-/****
- *DWORD_TO_SINT
- */
- case function_dword_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_sint*/
- break;
-
-/****
- *DWORD_TO_INT
- */
- case function_dword_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_int*/
- break;
-
-/****
- *DWORD_TO_DINT
- */
- case function_dword_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_dint*/
- break;
-
-/****
- *DWORD_TO_LINT
- */
- case function_dword_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_lint*/
- break;
-
-/****
- *DWORD_TO_USINT
- */
- case function_dword_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_usint*/
- break;
-
-/****
- *DWORD_TO_UINT
- */
- case function_dword_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_uint*/
- break;
-
-/****
- *DWORD_TO_UDINT
- */
- case function_dword_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_udint*/
- break;
-
-/****
- *DWORD_TO_ULINT
- */
- case function_dword_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_ulint*/
- break;
-
-/****
- *DWORD_TO_TIME
- */
- case function_dword_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_time*/
- break;
-
-/****
- *DWORD_TO_BOOL
- */
- case function_dword_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_bool*/
- break;
-
-/****
- *DWORD_TO_BYTE
- */
- case function_dword_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_byte*/
- break;
-
-/****
- *DWORD_TO_WORD
- */
- case function_dword_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_word*/
- break;
-
-/****
- *DWORD_TO_LWORD
- */
- case function_dword_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_lword*/
- break;
-
-/****
- *DWORD_TO_STRING
- */
- case function_dword_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_string*/
- break;
-
-/****
- *DWORD_TO_WSTRING
- */
- case function_dword_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_wstring*/
- break;
-
-/****
- *DWORD_TO_DATE
- */
- case function_dword_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_date*/
- break;
-
-/****
- *DWORD_TO_TOD
- */
- case function_dword_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_tod*/
- break;
-
-/****
- *DWORD_TO_DT
- */
- case function_dword_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dword_to_dt*/
- break;
-
-/****
- *LWORD_TO_REAL
- */
- case function_lword_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_real*/
- break;
-
-/****
- *LWORD_TO_LREAL
- */
- case function_lword_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_lreal*/
- break;
-
-/****
- *LWORD_TO_SINT
- */
- case function_lword_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_sint*/
- break;
-
-/****
- *LWORD_TO_INT
- */
- case function_lword_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_int*/
- break;
-
-/****
- *LWORD_TO_DINT
- */
- case function_lword_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_dint*/
- break;
-
-/****
- *LWORD_TO_LINT
- */
- case function_lword_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_lint*/
- break;
-
-/****
- *LWORD_TO_USINT
- */
- case function_lword_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_usint*/
- break;
-
-/****
- *LWORD_TO_UINT
- */
- case function_lword_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_uint*/
- break;
-
-/****
- *LWORD_TO_UDINT
- */
- case function_lword_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_udint*/
- break;
-
-/****
- *LWORD_TO_ULINT
- */
- case function_lword_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_ulint*/
- break;
-
-/****
- *LWORD_TO_TIME
- */
- case function_lword_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_time*/
- break;
-
-/****
- *LWORD_TO_BOOL
- */
- case function_lword_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_bool*/
- break;
-
-/****
- *LWORD_TO_BYTE
- */
- case function_lword_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_byte*/
- break;
-
-/****
- *LWORD_TO_WORD
- */
- case function_lword_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_word*/
- break;
-
-/****
- *LWORD_TO_DWORD
- */
- case function_lword_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")");
- IN_param_value->accept(*this);
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_dword*/
- break;
-
-/****
- *LWORD_TO_STRING
- */
- case function_lword_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_string*/
- break;
-
-/****
- *LWORD_TO_WSTRING
- */
- case function_lword_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")int_to_string(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_wstring*/
- break;
-
-/****
- *LWORD_TO_DATE
- */
- case function_lword_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_date*/
- break;
-
-/****
- *LWORD_TO_TOD
- */
- case function_lword_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_tod*/
- break;
-
-/****
- *LWORD_TO_DT
- */
- case function_lword_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")real_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lword_to_dt*/
- break;
-
-/****
- *STRING_TO_REAL
- */
- case function_string_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_real*/
- break;
-
-/****
- *STRING_TO_LREAL
- */
- case function_string_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_lreal*/
- break;
-
-/****
- *STRING_TO_SINT
- */
- case function_string_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_sint*/
- break;
-
-/****
- *STRING_TO_INT
- */
- case function_string_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_int*/
- break;
-
-/****
- *STRING_TO_DINT
- */
- case function_string_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_dint*/
- break;
-
-/****
- *STRING_TO_LINT
- */
- case function_string_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_lint*/
- break;
-
-/****
- *STRING_TO_USINT
- */
- case function_string_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_usint*/
- break;
-
-/****
- *STRING_TO_UINT
- */
- case function_string_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_uint*/
- break;
-
-/****
- *STRING_TO_UDINT
- */
- case function_string_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_udint*/
- break;
-
-/****
- *STRING_TO_ULINT
- */
- case function_string_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_ulint*/
- break;
-
-/****
- *STRING_TO_TIME
- */
- case function_string_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_time*/
- break;
-
-/****
- *STRING_TO_BOOL
- */
- case function_string_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_bool*/
- break;
-
-/****
- *STRING_TO_BYTE
- */
- case function_string_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_byte*/
- break;
-
-/****
- *STRING_TO_WORD
- */
- case function_string_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_word*/
- break;
-
-/****
- *STRING_TO_DWORD
- */
- case function_string_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_dword*/
- break;
-
-/****
- *STRING_TO_LWORD
- */
- case function_string_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_lword*/
- break;
-
-/****
- *STRING_TO_DATE
- */
- case function_string_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_date*/
- break;
-
-/****
- *STRING_TO_TOD
- */
- case function_string_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_tod*/
- break;
-
-/****
- *STRING_TO_DT
- */
- case function_string_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(string_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_string_to_dt*/
- break;
-
-/****
- *WSTRING_TO_REAL
- */
- case function_wstring_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_real*/
- break;
-
-/****
- *WSTRING_TO_LREAL
- */
- case function_wstring_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_lreal*/
- break;
-
-/****
- *WSTRING_TO_SINT
- */
- case function_wstring_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_sint*/
- break;
-
-/****
- *WSTRING_TO_INT
- */
- case function_wstring_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_int*/
- break;
-
-/****
- *WSTRING_TO_DINT
- */
- case function_wstring_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_dint*/
- break;
-
-/****
- *WSTRING_TO_LINT
- */
- case function_wstring_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_lint*/
- break;
-
-/****
- *WSTRING_TO_USINT
- */
- case function_wstring_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_usint*/
- break;
-
-/****
- *WSTRING_TO_UINT
- */
- case function_wstring_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_uint*/
- break;
-
-/****
- *WSTRING_TO_UDINT
- */
- case function_wstring_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_udint*/
- break;
-
-/****
- *WSTRING_TO_ULINT
- */
- case function_wstring_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 10)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_ulint*/
- break;
-
-/****
- *WSTRING_TO_TIME
- */
- case function_wstring_to_time :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_time*/
- break;
-
-/****
- *WSTRING_TO_BOOL
- */
- case function_wstring_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_bool*/
- break;
-
-/****
- *WSTRING_TO_BYTE
- */
- case function_wstring_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_byte*/
- break;
-
-/****
- *WSTRING_TO_WORD
- */
- case function_wstring_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_word*/
- break;
-
-/****
- *WSTRING_TO_DWORD
- */
- case function_wstring_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_dword*/
- break;
-
-/****
- *WSTRING_TO_LWORD
- */
- case function_wstring_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_int(");
- IN_param_value->accept(*this);
- s4o.print(", 16)");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_lword*/
- break;
-
-/****
- *WSTRING_TO_DATE
- */
- case function_wstring_to_date :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_date*/
- break;
-
-/****
- *WSTRING_TO_TOD
- */
- case function_wstring_to_tod :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_tod*/
- break;
-
-/****
- *WSTRING_TO_DT
- */
- case function_wstring_to_dt :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")string_to_time(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_wstring_to_dt*/
- break;
-
-/****
- *DATE_TO_REAL
- */
- case function_date_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_real*/
- break;
-
-/****
- *DATE_TO_LREAL
- */
- case function_date_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_lreal*/
- break;
-
-/****
- *DATE_TO_SINT
- */
- case function_date_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_sint*/
- break;
-
-/****
- *DATE_TO_INT
- */
- case function_date_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_int*/
- break;
-
-/****
- *DATE_TO_DINT
- */
- case function_date_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_dint*/
- break;
-
-/****
- *DATE_TO_LINT
- */
- case function_date_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_lint*/
- break;
-
-/****
- *DATE_TO_USINT
- */
- case function_date_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_usint*/
- break;
-
-/****
- *DATE_TO_UINT
- */
- case function_date_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_uint*/
- break;
-
-/****
- *DATE_TO_UDINT
- */
- case function_date_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_udint*/
- break;
-
-/****
- *DATE_TO_ULINT
- */
- case function_date_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_ulint*/
- break;
-
-/****
- *DATE_TO_BOOL
- */
- case function_date_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_bool*/
- break;
-
-/****
- *DATE_TO_BYTE
- */
- case function_date_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_byte*/
- break;
-
-/****
- *DATE_TO_WORD
- */
- case function_date_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_word*/
- break;
-
-/****
- *DATE_TO_DWORD
- */
- case function_date_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_dword*/
- break;
-
-/****
- *DATE_TO_LWORD
- */
- case function_date_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_lword*/
- break;
-
-/****
- *DATE_TO_STRING
- */
- case function_date_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_string*/
- break;
-
-/****
- *DATE_TO_WSTRING
- */
- case function_date_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(date_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_date_to_wstring*/
- break;
-
-/****
- *TOD_TO_REAL
- */
- case function_tod_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_real*/
- break;
-
-/****
- *TOD_TO_LREAL
- */
- case function_tod_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_lreal*/
- break;
-
-/****
- *TOD_TO_SINT
- */
- case function_tod_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_sint*/
- break;
-
-/****
- *TOD_TO_INT
- */
- case function_tod_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_int*/
- break;
-
-/****
- *TOD_TO_DINT
- */
- case function_tod_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_dint*/
- break;
-
-/****
- *TOD_TO_LINT
- */
- case function_tod_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_lint*/
- break;
-
-/****
- *TOD_TO_USINT
- */
- case function_tod_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_usint*/
- break;
-
-/****
- *TOD_TO_UINT
- */
- case function_tod_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_uint*/
- break;
-
-/****
- *TOD_TO_UDINT
- */
- case function_tod_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_udint*/
- break;
-
-/****
- *TOD_TO_ULINT
- */
- case function_tod_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_ulint*/
- break;
-
-/****
- *TOD_TO_BOOL
- */
- case function_tod_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_bool*/
- break;
-
-/****
- *TOD_TO_BYTE
- */
- case function_tod_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_byte*/
- break;
-
-/****
- *TOD_TO_WORD
- */
- case function_tod_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_word*/
- break;
-
-/****
- *TOD_TO_DWORD
- */
- case function_tod_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_dword*/
- break;
-
-/****
- *TOD_TO_LWORD
- */
- case function_tod_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_lword*/
- break;
-
-/****
- *TOD_TO_STRING
- */
- case function_tod_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_string*/
- break;
-
-/****
- *TOD_TO_WSTRING
- */
- case function_tod_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_tod_to_wstring*/
- break;
-
-/****
- *DT_TO_REAL
- */
- case function_dt_to_real :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_real*/
- break;
-
-/****
- *DT_TO_LREAL
- */
- case function_dt_to_lreal :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_lreal*/
- break;
-
-/****
- *DT_TO_SINT
- */
- case function_dt_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_sint*/
- break;
-
-/****
- *DT_TO_INT
- */
- case function_dt_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_int*/
- break;
-
-/****
- *DT_TO_DINT
- */
- case function_dt_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_dint*/
- break;
-
-/****
- *DT_TO_LINT
- */
- case function_dt_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_lint*/
- break;
-
-/****
- *DT_TO_USINT
- */
- case function_dt_to_usint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_usint*/
- break;
-
-/****
- *DT_TO_UINT
- */
- case function_dt_to_uint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_uint*/
- break;
-
-/****
- *DT_TO_UDINT
- */
- case function_dt_to_udint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_udint*/
- break;
-
-/****
- *DT_TO_ULINT
- */
- case function_dt_to_ulint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_ulint*/
- break;
-
-/****
- *DT_TO_BOOL
- */
- case function_dt_to_bool :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_bool*/
- break;
-
-/****
- *DT_TO_BYTE
- */
- case function_dt_to_byte :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_byte*/
- break;
-
-/****
- *DT_TO_WORD
- */
- case function_dt_to_word :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_word*/
- break;
-
-/****
- *DT_TO_DWORD
- */
- case function_dt_to_dword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_dword*/
- break;
-
-/****
- *DT_TO_LWORD
- */
- case function_dt_to_lword :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_real(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_lword*/
- break;
-
-/****
- *DT_TO_STRING
- */
- case function_dt_to_string :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
+ s4o.print(")__dt_to_string(");
IN_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -14781,43 +13412,6 @@
break;
/****
- *DT_TO_WSTRING
- */
- case function_dt_to_wstring :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
- s4o.print("(");
- return_type_symbol->accept(*this);
- s4o.print(")time_to_string(");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dt_to_wstring*/
- break;
-
-/****
*TRUNC
*/
case function_trunc :
@@ -14852,154 +13446,6 @@
break;
/****
- *BCD_TO_SINT
- */
- case function_bcd_to_sint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_sint*/
- break;
-
-/****
- *BCD_TO_INT
- */
- case function_bcd_to_int :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_int*/
- break;
-
-/****
- *BCD_TO_DINT
- */
- case function_bcd_to_dint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_dint*/
- break;
-
-/****
- *BCD_TO_LINT
- */
- case function_bcd_to_lint :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if(search_expression_type->is_binary_type(IN_type_symbol))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_bcd_to_lint*/
- break;
-
-/****
*BCD_TO_USINT
*/
case function_bcd_to_usint :
@@ -15017,13 +13463,13 @@
symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
- if(search_expression_type->is_binary_type(IN_type_symbol))
+ if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__bcd_to_uint(");
IN_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -15054,13 +13500,13 @@
symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
- if(search_expression_type->is_binary_type(IN_type_symbol))
+ if (typeid(*last_type_symbol) == typeid(word_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__bcd_to_uint(");
IN_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -15091,13 +13537,13 @@
symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
- if(search_expression_type->is_binary_type(IN_type_symbol))
+ if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__bcd_to_uint(");
IN_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -15128,13 +13574,13 @@
symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
- if(search_expression_type->is_binary_type(IN_type_symbol))
+ if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
- s4o.print("__bcd_to_something(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__bcd_to_uint(");
IN_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -15148,289 +13594,141 @@
break;
/****
- *SINT_TO_BCD
- */
- case function_sint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+ *USINT_TO_BCD
+ */
+ case function_usint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_sint_to_bcd*/
- break;
-
-/****
- *INT_TO_BCD
- */
- case function_int_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__uint_to_bcd(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_usint_to_bcd*/
+ break;
+
+/****
+ *UINT_TO_BCD
+ */
+ case function_uint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_int_to_bcd*/
- break;
-
-/****
- *DINT_TO_BCD
- */
- case function_dint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__uint_to_bcd(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_uint_to_bcd*/
+ break;
+
+/****
+ *UDINT_TO_BCD
+ */
+ case function_udint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_dint_to_bcd*/
- break;
-
-/****
- *LINT_TO_BCD
- */
- case function_lint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__uint_to_bcd(");
+ IN_param_value->accept(*this);
+ s4o.print(")");
+ return NULL;
+
+ }
+
+ ERROR;
+ }
+
+ }/*function_udint_to_bcd*/
+ break;
+
+/****
+ *ULINT_TO_BCD
+ */
+ case function_ulint_to_bcd :
+ {
+ symbol_c *last_type_symbol = NULL;
+
+ {
+ identifier_c param_name("IN");
+ /* Get the value from a foo(<param_name> = <param_value>) style call */
+ symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
+
+ /* Get the value from a foo(<param_value>) style call */
+ if (IN_param_value == NULL)
+ IN_param_value = function_call_param_iterator.next();
+ symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
+ last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
+
+ if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
{
symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_lint_to_bcd*/
- break;
-
-/****
- *USINT_TO_BCD
- */
- case function_usint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_usint_to_bcd*/
- break;
-
-/****
- *UINT_TO_BCD
- */
- case function_uint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_uint_to_bcd*/
- break;
-
-/****
- *UDINT_TO_BCD
- */
- case function_udint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
- IN_param_value->accept(*this);
- s4o.print(")");
- return NULL;
-
- }
-
- ERROR;
- }
-
- }/*function_udint_to_bcd*/
- break;
-
-/****
- *ULINT_TO_BCD
- */
- case function_ulint_to_bcd :
- {
- symbol_c *last_type_symbol = NULL;
-
- {
- identifier_c param_name("IN");
- /* Get the value from a foo(<param_name> = <param_value>) style call */
- symbol_c *IN_param_value = function_call_param_iterator.search(¶m_name);
-
- /* Get the value from a foo(<param_value>) style call */
- if (IN_param_value == NULL)
- IN_param_value = function_call_param_iterator.next();
- symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
- last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
-
- if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
- {
-
- symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
- s4o.print("__something_to_bcd(sizeof(");
- IN_type_symbol->accept(*this);
- s4o.print("),&");
+ s4o.print("(");
+ return_type_symbol->accept(*this);
+ s4o.print(")__uint_to_bcd(");
IN_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -15465,7 +13763,7 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("__date_and_time_to_time_of_day(&");
+ s4o.print("__date_and_time_to_time_of_day(");
IN_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -15500,7 +13798,7 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
- s4o.print("__date_and_time_to_time_of_day(&");
+ s4o.print("__date_and_time_to_date(");
IN_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -15994,9 +14292,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("__time_add(&");
+ s4o.print("__time_add(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16026,9 +14324,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("__time_add(&");
+ s4o.print("__time_add(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16058,9 +14356,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_add(&");
+ s4o.print("__time_add(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16172,9 +14470,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_mul(&");
+ s4o.print("__time_mul(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16260,9 +14558,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_sub(&");
+ s4o.print("__time_sub(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16292,9 +14590,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_sub(&");
+ s4o.print("__time_sub(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16305,9 +14603,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("__time_sub(&");
+ s4o.print("__time_sub(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16337,9 +14635,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_sub(&");
+ s4o.print("__time_sub(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16350,9 +14648,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
- s4o.print("__time_sub(&");
+ s4o.print("__time_sub(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16382,9 +14680,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_sub(&");
+ s4o.print("__time_sub(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16470,9 +14768,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
- s4o.print("__time_div(&");
+ s4o.print("__time_div(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16582,9 +14880,9 @@
{
symbol_c * return_type_symbol = last_type_symbol;
- s4o.print("pow(&");
+ s4o.print("pow(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -16761,7 +15059,7 @@
symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
- if(search_expression_type->is_binary_type(IN_type_symbol))
+ if(search_expression_type->is_nbinary_type(IN_type_symbol))
{
{
@@ -16779,9 +15077,9 @@
{
symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("__ror(sizeof(");
+ s4o.print("__ror_");
IN_type_symbol->accept(*this);
- s4o.print("), &");
+ s4o.print("(");
IN_param_value->accept(*this);
s4o.print(", ");
N_param_value->accept(*this);
@@ -16819,7 +15117,7 @@
symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
- if(search_expression_type->is_binary_type(IN_type_symbol))
+ if(search_expression_type->is_nbinary_type(IN_type_symbol))
{
{
@@ -16837,9 +15135,9 @@
{
symbol_c * return_type_symbol = IN_type_symbol;
- s4o.print("__rol(sizeof(");
+ s4o.print("__rol_");
IN_type_symbol->accept(*this);
- s4o.print("), &");
+ s4o.print("(");
IN_param_value->accept(*this);
s4o.print(", ");
N_param_value->accept(*this);
@@ -18131,7 +16429,7 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("__len(&");
+ s4o.print("__len(");
IN_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -18180,7 +16478,7 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__left(&");
+ s4o.print("__left(");
IN_param_value->accept(*this);
s4o.print(", ");
L_param_value->accept(*this);
@@ -18236,7 +16534,7 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__right(&");
+ s4o.print("__right(");
IN_param_value->accept(*this);
s4o.print(", ");
L_param_value->accept(*this);
@@ -18306,7 +16604,7 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__mid(&");
+ s4o.print("__mid(");
IN_param_value->accept(*this);
s4o.print(", ");
L_param_value->accept(*this);
@@ -18369,9 +16667,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
- s4o.print("__time_add(&");
+ s4o.print("__time_add(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;
@@ -18499,9 +16797,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__insert(&");
+ s4o.print("__insert(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(", ");
P_param_value->accept(*this);
@@ -18576,7 +16874,7 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__delete(&");
+ s4o.print("__delete(");
IN_param_value->accept(*this);
s4o.print(", ");
L_param_value->accept(*this);
@@ -18667,9 +16965,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
- s4o.print("__replace(&");
+ s4o.print("__replace(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(", ");
L_param_value->accept(*this);
@@ -18737,9 +17035,9 @@
{
symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
- s4o.print("__find(&");
+ s4o.print("__find(");
IN1_param_value->accept(*this);
- s4o.print(", &");
+ s4o.print(", ");
IN2_param_value->accept(*this);
s4o.print(")");
return NULL;