stage4/generate_cc/il_code_gen.c
changeset 42 b45c7f34dec1
parent 41 8998c8b24b60
child 43 37dd4e2fd2ec
--- a/stage4/generate_cc/il_code_gen.c	Fri Jul 13 19:20:26 2007 +0200
+++ b/stage4/generate_cc/il_code_gen.c	Tue Jul 17 12:19:59 2007 +0200
@@ -19,7 +19,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
@@ -51,7 +51,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -83,7 +83,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
@@ -115,7 +115,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
@@ -147,7 +147,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -179,7 +179,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -211,7 +211,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -243,7 +243,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
@@ -275,7 +275,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
@@ -307,7 +307,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
@@ -339,7 +339,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -372,7 +372,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -405,7 +405,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -438,7 +438,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -471,7 +471,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
@@ -504,7 +504,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -536,7 +536,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -568,7 +568,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -600,7 +600,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
@@ -632,7 +632,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
@@ -664,7 +664,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -696,7 +696,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
@@ -728,7 +728,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
@@ -760,7 +760,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -792,7 +792,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -824,7 +824,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -856,7 +856,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
@@ -888,7 +888,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
@@ -920,7 +920,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
@@ -952,7 +952,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -985,7 +985,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -1018,7 +1018,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -1051,7 +1051,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -1084,7 +1084,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
@@ -1117,7 +1117,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -1149,7 +1149,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -1181,7 +1181,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -1213,7 +1213,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::sint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
@@ -1245,7 +1245,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
@@ -1277,7 +1277,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
@@ -1309,7 +1309,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
@@ -1341,7 +1341,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
@@ -1373,7 +1373,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -1405,7 +1405,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -1437,7 +1437,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -1469,7 +1469,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
@@ -1501,7 +1501,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
@@ -1533,7 +1533,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
@@ -1565,7 +1565,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -1598,7 +1598,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -1631,7 +1631,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -1664,7 +1664,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -1697,7 +1697,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
@@ -1730,7 +1730,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -1762,7 +1762,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -1794,7 +1794,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -1826,7 +1826,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::int_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
@@ -1858,7 +1858,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
@@ -1890,7 +1890,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
@@ -1922,7 +1922,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -1954,7 +1954,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
@@ -1986,7 +1986,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -2018,7 +2018,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -2050,7 +2050,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -2082,7 +2082,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
@@ -2114,7 +2114,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
@@ -2146,7 +2146,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
@@ -2178,7 +2178,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -2211,7 +2211,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -2244,7 +2244,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -2277,7 +2277,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -2310,7 +2310,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
@@ -2343,7 +2343,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -2375,7 +2375,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -2407,7 +2407,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -2439,7 +2439,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
@@ -2471,7 +2471,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
@@ -2503,7 +2503,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
@@ -2535,7 +2535,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -2567,7 +2567,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
@@ -2599,7 +2599,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -2631,7 +2631,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -2663,7 +2663,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -2695,7 +2695,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
@@ -2727,7 +2727,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
@@ -2759,7 +2759,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
@@ -2791,7 +2791,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -2824,7 +2824,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -2857,7 +2857,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -2890,7 +2890,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -2923,7 +2923,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
@@ -2956,7 +2956,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -2988,7 +2988,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -3020,7 +3020,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -3052,7 +3052,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
@@ -3084,7 +3084,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
@@ -3116,7 +3116,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
@@ -3148,7 +3148,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -3180,7 +3180,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
@@ -3212,7 +3212,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
@@ -3244,7 +3244,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -3276,7 +3276,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -3308,7 +3308,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
@@ -3340,7 +3340,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
@@ -3372,7 +3372,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
@@ -3404,7 +3404,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -3437,7 +3437,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -3470,7 +3470,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -3503,7 +3503,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -3536,7 +3536,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
@@ -3569,7 +3569,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -3601,7 +3601,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -3633,7 +3633,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -3665,7 +3665,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
@@ -3697,7 +3697,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
@@ -3729,7 +3729,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
@@ -3761,7 +3761,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -3793,7 +3793,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
@@ -3825,7 +3825,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
@@ -3857,7 +3857,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -3889,7 +3889,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -3921,7 +3921,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
@@ -3953,7 +3953,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
@@ -3985,7 +3985,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
@@ -4017,7 +4017,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -4050,7 +4050,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -4083,7 +4083,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -4116,7 +4116,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -4149,7 +4149,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
@@ -4182,7 +4182,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -4214,7 +4214,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -4246,7 +4246,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -4278,7 +4278,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
@@ -4310,7 +4310,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
@@ -4342,7 +4342,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
@@ -4374,7 +4374,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -4406,7 +4406,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
@@ -4438,7 +4438,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
@@ -4470,7 +4470,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -4502,7 +4502,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -4534,7 +4534,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
@@ -4566,7 +4566,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
@@ -4598,7 +4598,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
@@ -4630,7 +4630,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -4663,7 +4663,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -4696,7 +4696,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -4729,7 +4729,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -4762,7 +4762,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
@@ -4795,7 +4795,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -4827,7 +4827,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -4859,7 +4859,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -4891,7 +4891,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
@@ -4923,7 +4923,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
@@ -4955,7 +4955,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
@@ -4987,7 +4987,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -5019,7 +5019,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
@@ -5051,7 +5051,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
@@ -5083,7 +5083,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -5115,7 +5115,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -5147,7 +5147,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -5179,7 +5179,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
@@ -5211,7 +5211,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
@@ -5243,7 +5243,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -5276,7 +5276,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -5309,7 +5309,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -5342,7 +5342,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -5375,7 +5375,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
@@ -5408,7 +5408,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -5440,7 +5440,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -5472,7 +5472,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -5504,7 +5504,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
@@ -5536,7 +5536,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
@@ -5568,7 +5568,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
@@ -5600,7 +5600,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -5632,7 +5632,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
@@ -5664,7 +5664,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
@@ -5696,7 +5696,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -5728,7 +5728,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -5760,7 +5760,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -5792,7 +5792,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
@@ -5824,7 +5824,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
@@ -5856,7 +5856,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -5889,7 +5889,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -5922,7 +5922,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -5955,7 +5955,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -5988,7 +5988,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
@@ -6021,7 +6021,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -6053,7 +6053,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -6085,7 +6085,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -6117,7 +6117,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::real_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
@@ -6149,7 +6149,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
@@ -6181,7 +6181,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
@@ -6213,7 +6213,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -6245,7 +6245,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
@@ -6277,7 +6277,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
@@ -6309,7 +6309,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -6341,7 +6341,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -6373,7 +6373,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -6405,7 +6405,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
@@ -6437,7 +6437,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
@@ -6469,7 +6469,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -6502,7 +6502,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -6535,7 +6535,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -6568,7 +6568,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -6601,7 +6601,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
@@ -6634,7 +6634,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
@@ -6666,7 +6666,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
@@ -6698,7 +6698,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -6730,7 +6730,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lreal_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
@@ -6749,5152 +6749,5020 @@
     break;
 
 /****
- *TIME_TO_BOOL
- */
-    case function_time_to_bool :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+ *TIME_TO_SINT
+ */
+    case function_time_to_sint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_sint*/
+    break;
+
+/****
+ *TIME_TO_INT
+ */
+    case function_time_to_int :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_int*/
+    break;
+
+/****
+ *TIME_TO_DINT
+ */
+    case function_time_to_dint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_dint*/
+    break;
+
+/****
+ *TIME_TO_LINT
+ */
+    case function_time_to_lint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_lint*/
+    break;
+
+/****
+ *TIME_TO_USINT
+ */
+    case function_time_to_usint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_usint*/
+    break;
+
+/****
+ *TIME_TO_UINT
+ */
+    case function_time_to_uint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_uint*/
+    break;
+
+/****
+ *TIME_TO_UDINT
+ */
+    case function_time_to_udint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_udint*/
+    break;
+
+/****
+ *TIME_TO_ULINT
+ */
+    case function_time_to_ulint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_ulint*/
+    break;
+
+/****
+ *TIME_TO_REAL
+ */
+    case function_time_to_real :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_real(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_real*/
+    break;
+
+/****
+ *TIME_TO_LREAL
+ */
+    case function_time_to_lreal :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_real(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_lreal*/
+    break;
+
+/****
+ *TIME_TO_STRING
+ */
+    case function_time_to_string :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_string(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_string*/
+    break;
+
+/****
+ *TIME_TO_BYTE
+ */
+    case function_time_to_byte :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_byte*/
+    break;
+
+/****
+ *TIME_TO_WORD
+ */
+    case function_time_to_word :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_word*/
+    break;
+
+/****
+ *TIME_TO_DWORD
+ */
+    case function_time_to_dword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_dword*/
+    break;
+
+/****
+ *TIME_TO_LWORD
+ */
+    case function_time_to_lword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_time_to_lword*/
+    break;
+
+/****
+ *DATE_TO_SINT
+ */
+    case function_date_to_sint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_sint*/
+    break;
+
+/****
+ *DATE_TO_INT
+ */
+    case function_date_to_int :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_int*/
+    break;
+
+/****
+ *DATE_TO_DINT
+ */
+    case function_date_to_dint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_dint*/
+    break;
+
+/****
+ *DATE_TO_LINT
+ */
+    case function_date_to_lint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_lint*/
+    break;
+
+/****
+ *DATE_TO_USINT
+ */
+    case function_date_to_usint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_usint*/
+    break;
+
+/****
+ *DATE_TO_UINT
+ */
+    case function_date_to_uint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_uint*/
+    break;
+
+/****
+ *DATE_TO_UDINT
+ */
+    case function_date_to_udint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_udint*/
+    break;
+
+/****
+ *DATE_TO_ULINT
+ */
+    case function_date_to_ulint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_ulint*/
+    break;
+
+/****
+ *DATE_TO_REAL
+ */
+    case function_date_to_real :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_real(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_real*/
+    break;
+
+/****
+ *DATE_TO_LREAL
+ */
+    case function_date_to_lreal :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_real(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_lreal*/
+    break;
+
+/****
+ *DATE_TO_STRING
+ */
+    case function_date_to_string :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__date_to_string(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_string*/
+    break;
+
+/****
+ *DATE_TO_BYTE
+ */
+    case function_date_to_byte :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_byte*/
+    break;
+
+/****
+ *DATE_TO_WORD
+ */
+    case function_date_to_word :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_word*/
+    break;
+
+/****
+ *DATE_TO_DWORD
+ */
+    case function_date_to_dword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_dword*/
+    break;
+
+/****
+ *DATE_TO_LWORD
+ */
+    case function_date_to_lword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_date_to_lword*/
+    break;
+
+/****
+ *TOD_TO_SINT
+ */
+    case function_tod_to_sint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_sint*/
+    break;
+
+/****
+ *TOD_TO_INT
+ */
+    case function_tod_to_int :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_int*/
+    break;
+
+/****
+ *TOD_TO_DINT
+ */
+    case function_tod_to_dint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_dint*/
+    break;
+
+/****
+ *TOD_TO_LINT
+ */
+    case function_tod_to_lint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_lint*/
+    break;
+
+/****
+ *TOD_TO_USINT
+ */
+    case function_tod_to_usint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_usint*/
+    break;
+
+/****
+ *TOD_TO_UINT
+ */
+    case function_tod_to_uint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_uint*/
+    break;
+
+/****
+ *TOD_TO_UDINT
+ */
+    case function_tod_to_udint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_udint*/
+    break;
+
+/****
+ *TOD_TO_ULINT
+ */
+    case function_tod_to_ulint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_ulint*/
+    break;
+
+/****
+ *TOD_TO_REAL
+ */
+    case function_tod_to_real :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_real(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_real*/
+    break;
+
+/****
+ *TOD_TO_LREAL
+ */
+    case function_tod_to_lreal :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_real(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_lreal*/
+    break;
+
+/****
+ *TOD_TO_STRING
+ */
+    case function_tod_to_string :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__tod_to_string(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_string*/
+    break;
+
+/****
+ *TOD_TO_BYTE
+ */
+    case function_tod_to_byte :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_byte*/
+    break;
+
+/****
+ *TOD_TO_WORD
+ */
+    case function_tod_to_word :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_word*/
+    break;
+
+/****
+ *TOD_TO_DWORD
+ */
+    case function_tod_to_dword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_dword*/
+    break;
+
+/****
+ *TOD_TO_LWORD
+ */
+    case function_tod_to_lword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_tod_to_lword*/
+    break;
+
+/****
+ *DT_TO_SINT
+ */
+    case function_dt_to_sint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_sint*/
+    break;
+
+/****
+ *DT_TO_INT
+ */
+    case function_dt_to_int :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_int*/
+    break;
+
+/****
+ *DT_TO_DINT
+ */
+    case function_dt_to_dint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_dint*/
+    break;
+
+/****
+ *DT_TO_LINT
+ */
+    case function_dt_to_lint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_lint*/
+    break;
+
+/****
+ *DT_TO_USINT
+ */
+    case function_dt_to_usint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_usint*/
+    break;
+
+/****
+ *DT_TO_UINT
+ */
+    case function_dt_to_uint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_uint*/
+    break;
+
+/****
+ *DT_TO_UDINT
+ */
+    case function_dt_to_udint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_udint*/
+    break;
+
+/****
+ *DT_TO_ULINT
+ */
+    case function_dt_to_ulint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_ulint*/
+    break;
+
+/****
+ *DT_TO_REAL
+ */
+    case function_dt_to_real :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_real(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_real*/
+    break;
+
+/****
+ *DT_TO_LREAL
+ */
+    case function_dt_to_lreal :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_real(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_lreal*/
+    break;
+
+/****
+ *DT_TO_STRING
+ */
+    case function_dt_to_string :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__dt_to_string(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_string*/
+    break;
+
+/****
+ *DT_TO_BYTE
+ */
+    case function_dt_to_byte :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_byte*/
+    break;
+
+/****
+ *DT_TO_WORD
+ */
+    case function_dt_to_word :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_word*/
+    break;
+
+/****
+ *DT_TO_DWORD
+ */
+    case function_dt_to_dword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_dword*/
+    break;
+
+/****
+ *DT_TO_LWORD
+ */
+    case function_dt_to_lword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__time_to_int(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dt_to_lword*/
+    break;
+
+/****
+ *STRING_TO_BOOL
+ */
+    case function_string_to_bool :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_bool*/
-    break;
-
-/****
- *TIME_TO_SINT
- */
-    case function_time_to_sint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__string_to_bool(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_bool*/
+    break;
+
+/****
+ *STRING_TO_SINT
+ */
+    case function_string_to_sint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_sint*/
-    break;
-
-/****
- *TIME_TO_INT
- */
-    case function_time_to_int :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__string_to_sint(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_sint*/
+    break;
+
+/****
+ *STRING_TO_INT
+ */
+    case function_string_to_int :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_int*/
-    break;
-
-/****
- *TIME_TO_DINT
- */
-    case function_time_to_dint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__string_to_sint(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_int*/
+    break;
+
+/****
+ *STRING_TO_DINT
+ */
+    case function_string_to_dint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_dint*/
-    break;
-
-/****
- *TIME_TO_LINT
- */
-    case function_time_to_lint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__string_to_sint(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_dint*/
+    break;
+
+/****
+ *STRING_TO_LINT
+ */
+    case function_string_to_lint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_lint*/
-    break;
-
-/****
- *TIME_TO_USINT
- */
-    case function_time_to_usint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__string_to_sint(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_lint*/
+    break;
+
+/****
+ *STRING_TO_USINT
+ */
+    case function_string_to_usint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_usint*/
-    break;
-
-/****
- *TIME_TO_UINT
- */
-    case function_time_to_uint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__string_to_uint(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_usint*/
+    break;
+
+/****
+ *STRING_TO_UINT
+ */
+    case function_string_to_uint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_uint*/
-    break;
-
-/****
- *TIME_TO_UDINT
- */
-    case function_time_to_udint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__string_to_uint(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_uint*/
+    break;
+
+/****
+ *STRING_TO_UDINT
+ */
+    case function_string_to_udint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_udint*/
-    break;
-
-/****
- *TIME_TO_ULINT
- */
-    case function_time_to_ulint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__string_to_uint(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_udint*/
+    break;
+
+/****
+ *STRING_TO_ULINT
+ */
+    case function_string_to_ulint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_ulint*/
-    break;
-
-/****
- *TIME_TO_REAL
- */
-    case function_time_to_real :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__string_to_uint(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_ulint*/
+    break;
+
+/****
+ *STRING_TO_REAL
+ */
+    case function_string_to_real :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_real(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_real*/
-    break;
-
-/****
- *TIME_TO_LREAL
- */
-    case function_time_to_lreal :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__string_to_real(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_real*/
+    break;
+
+/****
+ *STRING_TO_LREAL
+ */
+    case function_string_to_lreal :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_real(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_lreal*/
-    break;
-
-/****
- *TIME_TO_STRING
- */
-    case function_time_to_string :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__string_to_real(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_lreal*/
+    break;
+
+/****
+ *STRING_TO_TIME
+ */
+    case function_string_to_time :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__string_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_time*/
+    break;
+
+/****
+ *STRING_TO_DATE
+ */
+    case function_string_to_date :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__string_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_date*/
+    break;
+
+/****
+ *STRING_TO_TOD
+ */
+    case function_string_to_tod :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__string_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_tod*/
+    break;
+
+/****
+ *STRING_TO_DT
+ */
+    case function_string_to_dt :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__string_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_dt*/
+    break;
+
+/****
+ *STRING_TO_BYTE
+ */
+    case function_string_to_byte :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__string_to_bit(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_byte*/
+    break;
+
+/****
+ *STRING_TO_WORD
+ */
+    case function_string_to_word :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__string_to_bit(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_word*/
+    break;
+
+/****
+ *STRING_TO_DWORD
+ */
+    case function_string_to_dword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__string_to_bit(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_dword*/
+    break;
+
+/****
+ *STRING_TO_LWORD
+ */
+    case function_string_to_lword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__string_to_bit(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_string_to_lword*/
+    break;
+
+/****
+ *BYTE_TO_BOOL
+ */
+    case function_byte_to_bool :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_bool*/
+    break;
+
+/****
+ *BYTE_TO_SINT
+ */
+    case function_byte_to_sint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_sint*/
+    break;
+
+/****
+ *BYTE_TO_INT
+ */
+    case function_byte_to_int :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_int*/
+    break;
+
+/****
+ *BYTE_TO_DINT
+ */
+    case function_byte_to_dint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_dint*/
+    break;
+
+/****
+ *BYTE_TO_LINT
+ */
+    case function_byte_to_lint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_lint*/
+    break;
+
+/****
+ *BYTE_TO_USINT
+ */
+    case function_byte_to_usint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_usint*/
+    break;
+
+/****
+ *BYTE_TO_UINT
+ */
+    case function_byte_to_uint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_uint*/
+    break;
+
+/****
+ *BYTE_TO_UDINT
+ */
+    case function_byte_to_udint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_udint*/
+    break;
+
+/****
+ *BYTE_TO_ULINT
+ */
+    case function_byte_to_ulint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_ulint*/
+    break;
+
+/****
+ *BYTE_TO_REAL
+ */
+    case function_byte_to_real :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_real*/
+    break;
+
+/****
+ *BYTE_TO_LREAL
+ */
+    case function_byte_to_lreal :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_lreal*/
+    break;
+
+/****
+ *BYTE_TO_TIME
+ */
+    case function_byte_to_time :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_time*/
+    break;
+
+/****
+ *BYTE_TO_DATE
+ */
+    case function_byte_to_date :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_date*/
+    break;
+
+/****
+ *BYTE_TO_TOD
+ */
+    case function_byte_to_tod :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_tod*/
+    break;
+
+/****
+ *BYTE_TO_DT
+ */
+    case function_byte_to_dt :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_dt*/
+    break;
+
+/****
+ *BYTE_TO_STRING
+ */
+    case function_byte_to_string :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_string(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_string*/
-    break;
-
-/****
- *TIME_TO_BYTE
- */
-    case function_time_to_byte :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")__bit_to_string(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_string*/
+    break;
+
+/****
+ *BYTE_TO_WORD
+ */
+    case function_byte_to_word :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_word*/
+    break;
+
+/****
+ *BYTE_TO_DWORD
+ */
+    case function_byte_to_dword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_dword*/
+    break;
+
+/****
+ *BYTE_TO_LWORD
+ */
+    case function_byte_to_lword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_byte_to_lword*/
+    break;
+
+/****
+ *WORD_TO_BOOL
+ */
+    case function_word_to_bool :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_bool*/
+    break;
+
+/****
+ *WORD_TO_SINT
+ */
+    case function_word_to_sint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_sint*/
+    break;
+
+/****
+ *WORD_TO_INT
+ */
+    case function_word_to_int :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_int*/
+    break;
+
+/****
+ *WORD_TO_DINT
+ */
+    case function_word_to_dint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_dint*/
+    break;
+
+/****
+ *WORD_TO_LINT
+ */
+    case function_word_to_lint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_lint*/
+    break;
+
+/****
+ *WORD_TO_USINT
+ */
+    case function_word_to_usint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_usint*/
+    break;
+
+/****
+ *WORD_TO_UINT
+ */
+    case function_word_to_uint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_uint*/
+    break;
+
+/****
+ *WORD_TO_UDINT
+ */
+    case function_word_to_udint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_udint*/
+    break;
+
+/****
+ *WORD_TO_ULINT
+ */
+    case function_word_to_ulint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_ulint*/
+    break;
+
+/****
+ *WORD_TO_REAL
+ */
+    case function_word_to_real :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_real*/
+    break;
+
+/****
+ *WORD_TO_LREAL
+ */
+    case function_word_to_lreal :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_lreal*/
+    break;
+
+/****
+ *WORD_TO_TIME
+ */
+    case function_word_to_time :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_time*/
+    break;
+
+/****
+ *WORD_TO_DATE
+ */
+    case function_word_to_date :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_date*/
+    break;
+
+/****
+ *WORD_TO_TOD
+ */
+    case function_word_to_tod :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_tod*/
+    break;
+
+/****
+ *WORD_TO_DT
+ */
+    case function_word_to_dt :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_dt*/
+    break;
+
+/****
+ *WORD_TO_STRING
+ */
+    case function_word_to_string :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__bit_to_string(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_string*/
+    break;
+
+/****
+ *WORD_TO_BYTE
+ */
+    case function_word_to_byte :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_byte*/
-    break;
-
-/****
- *TIME_TO_WORD
- */
-    case function_time_to_word :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_byte*/
+    break;
+
+/****
+ *WORD_TO_DWORD
+ */
+    case function_word_to_dword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_dword*/
+    break;
+
+/****
+ *WORD_TO_LWORD
+ */
+    case function_word_to_lword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_word_to_lword*/
+    break;
+
+/****
+ *DWORD_TO_BOOL
+ */
+    case function_dword_to_bool :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_bool*/
+    break;
+
+/****
+ *DWORD_TO_SINT
+ */
+    case function_dword_to_sint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_sint*/
+    break;
+
+/****
+ *DWORD_TO_INT
+ */
+    case function_dword_to_int :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_int*/
+    break;
+
+/****
+ *DWORD_TO_DINT
+ */
+    case function_dword_to_dint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_dint*/
+    break;
+
+/****
+ *DWORD_TO_LINT
+ */
+    case function_dword_to_lint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_lint*/
+    break;
+
+/****
+ *DWORD_TO_USINT
+ */
+    case function_dword_to_usint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_usint*/
+    break;
+
+/****
+ *DWORD_TO_UINT
+ */
+    case function_dword_to_uint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_uint*/
+    break;
+
+/****
+ *DWORD_TO_UDINT
+ */
+    case function_dword_to_udint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_udint*/
+    break;
+
+/****
+ *DWORD_TO_ULINT
+ */
+    case function_dword_to_ulint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_ulint*/
+    break;
+
+/****
+ *DWORD_TO_REAL
+ */
+    case function_dword_to_real :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_real*/
+    break;
+
+/****
+ *DWORD_TO_LREAL
+ */
+    case function_dword_to_lreal :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_lreal*/
+    break;
+
+/****
+ *DWORD_TO_TIME
+ */
+    case function_dword_to_time :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_time*/
+    break;
+
+/****
+ *DWORD_TO_DATE
+ */
+    case function_dword_to_date :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_date*/
+    break;
+
+/****
+ *DWORD_TO_TOD
+ */
+    case function_dword_to_tod :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_tod*/
+    break;
+
+/****
+ *DWORD_TO_DT
+ */
+    case function_dword_to_dt :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_dt*/
+    break;
+
+/****
+ *DWORD_TO_STRING
+ */
+    case function_dword_to_string :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__bit_to_string(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_string*/
+    break;
+
+/****
+ *DWORD_TO_BYTE
+ */
+    case function_dword_to_byte :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_byte*/
+    break;
+
+/****
+ *DWORD_TO_WORD
+ */
+    case function_dword_to_word :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_word*/
-    break;
-
-/****
- *TIME_TO_DWORD
- */
-    case function_time_to_dword :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_word*/
+    break;
+
+/****
+ *DWORD_TO_LWORD
+ */
+    case function_dword_to_lword :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_time_to_lword*/
-    break;
-
-/****
- *DATE_TO_BOOL
- */
-    case function_date_to_bool :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_dword_to_lword*/
+    break;
+
+/****
+ *LWORD_TO_BOOL
+ */
+    case function_lword_to_bool :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_bool*/
-    break;
-
-/****
- *DATE_TO_SINT
- */
-    case function_date_to_sint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_bool*/
+    break;
+
+/****
+ *LWORD_TO_SINT
+ */
+    case function_lword_to_sint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_sint*/
-    break;
-
-/****
- *DATE_TO_INT
- */
-    case function_date_to_int :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_sint*/
+    break;
+
+/****
+ *LWORD_TO_INT
+ */
+    case function_lword_to_int :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_int*/
-    break;
-
-/****
- *DATE_TO_DINT
- */
-    case function_date_to_dint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_int*/
+    break;
+
+/****
+ *LWORD_TO_DINT
+ */
+    case function_lword_to_dint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_dint*/
-    break;
-
-/****
- *DATE_TO_LINT
- */
-    case function_date_to_lint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_dint*/
+    break;
+
+/****
+ *LWORD_TO_LINT
+ */
+    case function_lword_to_lint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_lint*/
-    break;
-
-/****
- *DATE_TO_USINT
- */
-    case function_date_to_usint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_lint*/
+    break;
+
+/****
+ *LWORD_TO_USINT
+ */
+    case function_lword_to_usint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_usint*/
-    break;
-
-/****
- *DATE_TO_UINT
- */
-    case function_date_to_uint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_usint*/
+    break;
+
+/****
+ *LWORD_TO_UINT
+ */
+    case function_lword_to_uint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_uint*/
-    break;
-
-/****
- *DATE_TO_UDINT
- */
-    case function_date_to_udint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_uint*/
+    break;
+
+/****
+ *LWORD_TO_UDINT
+ */
+    case function_lword_to_udint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_udint*/
-    break;
-
-/****
- *DATE_TO_ULINT
- */
-    case function_date_to_ulint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_udint*/
+    break;
+
+/****
+ *LWORD_TO_ULINT
+ */
+    case function_lword_to_ulint :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_ulint*/
-    break;
-
-/****
- *DATE_TO_REAL
- */
-    case function_date_to_real :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_ulint*/
+    break;
+
+/****
+ *LWORD_TO_REAL
+ */
+    case function_lword_to_real :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_real(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_real*/
-    break;
-
-/****
- *DATE_TO_LREAL
- */
-    case function_date_to_lreal :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_real*/
+    break;
+
+/****
+ *LWORD_TO_LREAL
+ */
+    case function_lword_to_lreal :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_real(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_lreal*/
-    break;
-
-/****
- *DATE_TO_STRING
- */
-    case function_date_to_string :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_lreal*/
+    break;
+
+/****
+ *LWORD_TO_TIME
+ */
+    case function_lword_to_time :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_time*/
+    break;
+
+/****
+ *LWORD_TO_DATE
+ */
+    case function_lword_to_date :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_date*/
+    break;
+
+/****
+ *LWORD_TO_TOD
+ */
+    case function_lword_to_tod :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_tod*/
+    break;
+
+/****
+ *LWORD_TO_DT
+ */
+    case function_lword_to_dt :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
+            {
+        
+                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
+                s4o.print("(");
+                return_type_symbol->accept(*this);
+                s4o.print(")__int_to_time(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_dt*/
+    break;
+
+/****
+ *LWORD_TO_STRING
+ */
+    case function_lword_to_string :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__date_to_string(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_string*/
-    break;
-
-/****
- *DATE_TO_BYTE
- */
-    case function_date_to_byte :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")__bit_to_string(");
+                IN_param_value->accept(*this);
+                s4o.print(")");
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_string*/
+    break;
+
+/****
+ *LWORD_TO_BYTE
+ */
+    case function_lword_to_byte :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_byte*/
-    break;
-
-/****
- *DATE_TO_WORD
- */
-    case function_date_to_word :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                s4o.print(")");
+                IN_param_value->accept(*this);
+                return NULL;
+                
+            }
+            
+            ERROR;
+        }
+        
+    }/*function_lword_to_byte*/
+    break;
+
+/****
+ *LWORD_TO_WORD
+ */
+    case function_lword_to_word :
+    {
+        symbol_c *last_type_symbol = NULL;
+
+        {
+            /* Get the value from a foo(<param_name> = <param_value>) style call */
+            symbol_c *IN_param_value = &this->default_variable_name;
+        
+            symbol_c *IN_type_symbol = param_data_type;
+            last_type_symbol = param_data_type;
+            
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
                 s4o.print("(");
                 return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_word*/
-    break;
-
-/****
- *DATE_TO_DWORD
- */
-    case function_date_to_dword :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_date_to_lword*/
-    break;
-
-/****
- *TOD_TO_BOOL
- */
-    case function_tod_to_bool :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_bool*/
-    break;
-
-/****
- *TOD_TO_SINT
- */
-    case function_tod_to_sint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_int*/
-    break;
-
-/****
- *TOD_TO_DINT
- */
-    case function_tod_to_dint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_dint*/
-    break;
-
-/****
- *TOD_TO_LINT
- */
-    case function_tod_to_lint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_lint*/
-    break;
-
-/****
- *TOD_TO_USINT
- */
-    case function_tod_to_usint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_usint*/
-    break;
-
-/****
- *TOD_TO_UINT
- */
-    case function_tod_to_uint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_uint*/
-    break;
-
-/****
- *TOD_TO_UDINT
- */
-    case function_tod_to_udint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_udint*/
-    break;
-
-/****
- *TOD_TO_ULINT
- */
-    case function_tod_to_ulint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_ulint*/
-    break;
-
-/****
- *TOD_TO_REAL
- */
-    case function_tod_to_real :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_real(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_lreal*/
-    break;
-
-/****
- *TOD_TO_STRING
- */
-    case function_tod_to_string :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__tod_to_string(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_string*/
-    break;
-
-/****
- *TOD_TO_BYTE
- */
-    case function_tod_to_byte :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_byte*/
-    break;
-
-/****
- *TOD_TO_WORD
- */
-    case function_tod_to_word :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_word*/
-    break;
-
-/****
- *TOD_TO_DWORD
- */
-    case function_tod_to_dword :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_dword*/
-    break;
-
-/****
- *TOD_TO_LWORD
- */
-    case function_tod_to_lword :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_tod_to_lword*/
-    break;
-
-/****
- *DT_TO_BOOL
- */
-    case function_dt_to_bool :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_bool*/
-    break;
-
-/****
- *DT_TO_SINT
- */
-    case function_dt_to_sint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_sint*/
-    break;
-
-/****
- *DT_TO_INT
- */
-    case function_dt_to_int :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_dint*/
-    break;
-
-/****
- *DT_TO_LINT
- */
-    case function_dt_to_lint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_lint*/
-    break;
-
-/****
- *DT_TO_USINT
- */
-    case function_dt_to_usint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_usint*/
-    break;
-
-/****
- *DT_TO_UINT
- */
-    case function_dt_to_uint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_uint*/
-    break;
-
-/****
- *DT_TO_UDINT
- */
-    case function_dt_to_udint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_udint*/
-    break;
-
-/****
- *DT_TO_ULINT
- */
-    case function_dt_to_ulint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_ulint*/
-    break;
-
-/****
- *DT_TO_REAL
- */
-    case function_dt_to_real :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_real(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_lreal*/
-    break;
-
-/****
- *DT_TO_STRING
- */
-    case function_dt_to_string :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__dt_to_string(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_string*/
-    break;
-
-/****
- *DT_TO_BYTE
- */
-    case function_dt_to_byte :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_byte*/
-    break;
-
-/****
- *DT_TO_WORD
- */
-    case function_dt_to_word :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_word*/
-    break;
-
-/****
- *DT_TO_DWORD
- */
-    case function_dt_to_dword :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_dword*/
-    break;
-
-/****
- *DT_TO_LWORD
- */
-    case function_dt_to_lword :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__time_to_int(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dt_to_lword*/
-    break;
-
-/****
- *STRING_TO_BOOL
- */
-    case function_string_to_bool :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__string_to_bool(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_string_to_bool*/
-    break;
-
-/****
- *STRING_TO_SINT
- */
-    case function_string_to_sint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__string_to_uint(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_string_to_ulint*/
-    break;
-
-/****
- *STRING_TO_REAL
- */
-    case function_string_to_real :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__string_to_real(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_string_to_lreal*/
-    break;
-
-/****
- *STRING_TO_TIME
- */
-    case function_string_to_time :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__string_to_time(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_string_to_time*/
-    break;
-
-/****
- *STRING_TO_DATE
- */
-    case function_string_to_date :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__string_to_time(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_string_to_dt*/
-    break;
-
-/****
- *STRING_TO_BYTE
- */
-    case function_string_to_byte :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__string_to_bit(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_string_to_lword*/
-    break;
-
-/****
- *BYTE_TO_BOOL
- */
-    case function_byte_to_bool :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_byte_to_bool*/
-    break;
-
-/****
- *BYTE_TO_SINT
- */
-    case function_byte_to_sint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_byte_to_ulint*/
-    break;
-
-/****
- *BYTE_TO_REAL
- */
-    case function_byte_to_real :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_byte_to_lreal*/
-    break;
-
-/****
- *BYTE_TO_TIME
- */
-    case function_byte_to_time :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__int_to_time(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_byte_to_time*/
-    break;
-
-/****
- *BYTE_TO_DATE
- */
-    case function_byte_to_date :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__int_to_time(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_byte_to_dt*/
-    break;
-
-/****
- *BYTE_TO_STRING
- */
-    case function_byte_to_string :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__bit_to_string(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_byte_to_string*/
-    break;
-
-/****
- *BYTE_TO_WORD
- */
-    case function_byte_to_word :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_byte_to_lword*/
-    break;
-
-/****
- *WORD_TO_BOOL
- */
-    case function_word_to_bool :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_word_to_bool*/
-    break;
-
-/****
- *WORD_TO_SINT
- */
-    case function_word_to_sint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_word_to_ulint*/
-    break;
-
-/****
- *WORD_TO_REAL
- */
-    case function_word_to_real :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_word_to_lreal*/
-    break;
-
-/****
- *WORD_TO_TIME
- */
-    case function_word_to_time :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__int_to_time(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_word_to_time*/
-    break;
-
-/****
- *WORD_TO_DATE
- */
-    case function_word_to_date :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__int_to_time(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_word_to_dt*/
-    break;
-
-/****
- *WORD_TO_STRING
- */
-    case function_word_to_string :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__bit_to_string(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_word_to_string*/
-    break;
-
-/****
- *WORD_TO_BYTE
- */
-    case function_word_to_byte :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_word_to_lword*/
-    break;
-
-/****
- *DWORD_TO_BOOL
- */
-    case function_dword_to_bool :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dword_to_bool*/
-    break;
-
-/****
- *DWORD_TO_SINT
- */
-    case function_dword_to_sint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dword_to_ulint*/
-    break;
-
-/****
- *DWORD_TO_REAL
- */
-    case function_dword_to_real :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dword_to_lreal*/
-    break;
-
-/****
- *DWORD_TO_TIME
- */
-    case function_dword_to_time :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__int_to_time(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dword_to_time*/
-    break;
-
-/****
- *DWORD_TO_DATE
- */
-    case function_dword_to_date :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__int_to_time(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dword_to_dt*/
-    break;
-
-/****
- *DWORD_TO_STRING
- */
-    case function_dword_to_string :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__bit_to_string(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dword_to_string*/
-    break;
-
-/****
- *DWORD_TO_BYTE
- */
-    case function_dword_to_byte :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_dword_to_lword*/
-    break;
-
-/****
- *LWORD_TO_BOOL
- */
-    case function_lword_to_bool :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_lword_to_bool*/
-    break;
-
-/****
- *LWORD_TO_SINT
- */
-    case function_lword_to_sint :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_lword_to_ulint*/
-    break;
-
-/****
- *LWORD_TO_REAL
- */
-    case function_lword_to_real :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")");
-                IN_param_value->accept(*this);
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_lword_to_lreal*/
-    break;
-
-/****
- *LWORD_TO_TIME
- */
-    case function_lword_to_time :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__int_to_time(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_lword_to_time*/
-    break;
-
-/****
- *LWORD_TO_DATE
- */
-    case function_lword_to_date :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__int_to_time(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_lword_to_dt*/
-    break;
-
-/****
- *LWORD_TO_STRING
- */
-    case function_lword_to_string :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
-            {
-        
-                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
-                s4o.print("(");
-                return_type_symbol->accept(*this);
-                s4o.print(")__bit_to_string(");
-                IN_param_value->accept(*this);
-                s4o.print(")");
-                return NULL;
-                
-            }
-            
-            ERROR;
-        }
-        
-    }/*function_lword_to_string*/
-    break;
-
-/****
- *LWORD_TO_BYTE
- */
-    case function_lword_to_byte :
-    {
-        symbol_c *last_type_symbol = NULL;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
-
-        {
-            /* Get the value from a foo(<param_name> = <param_value>) style call */
-            symbol_c *IN_param_value = &this->default_variable_name;
-        
-            symbol_c *IN_type_symbol = param_data_type;
-            last_type_symbol = param_data_type;
-            
-            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;
@@ -11921,7 +11789,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
@@ -11983,7 +11851,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::byte_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
@@ -12016,7 +11884,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::word_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
@@ -12049,7 +11917,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
@@ -12082,7 +11950,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::lword_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
@@ -12115,7 +11983,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::usint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
@@ -12148,7 +12016,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::uint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
@@ -12181,7 +12049,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::udint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
@@ -12214,7 +12082,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::ulint_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
@@ -12247,7 +12115,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -12278,7 +12146,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
@@ -12670,9 +12538,10 @@
                     {
                 
                         symbol_c * return_type_symbol = last_type_symbol;
-                        s4o.print("(");
+                        s4o.indent_right();
+                        s4o.print("(\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print("+");
+                        s4o.print("+\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -12693,13 +12562,14 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print("+");
+                                s4o.print("+\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
                             
                         }while(param_value != NULL);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -12710,7 +12580,7 @@
                 
             }
             
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
         
                 {
@@ -12724,7 +12594,7 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -12742,7 +12612,7 @@
                 
             }
             
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
         
                 {
@@ -12756,7 +12626,7 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -12774,7 +12644,7 @@
                 
             }
             
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
         
                 {
@@ -12788,7 +12658,7 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -12844,9 +12714,10 @@
                     {
                 
                         symbol_c * return_type_symbol = last_type_symbol;
-                        s4o.print("(");
+                        s4o.indent_right();
+                        s4o.print("(\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print("*");
+                        s4o.print("*\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -12867,13 +12738,14 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print("*");
+                                s4o.print("*\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
                             
                         }while(param_value != NULL);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -12884,7 +12756,7 @@
                 
             }
             
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
         
                 {
@@ -12954,11 +12826,13 @@
                     {
                 
                         symbol_c * return_type_symbol = last_type_symbol;
-                        s4o.print("(");
+                        s4o.indent_right();
+                        s4o.print("(\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print("-");
+                        s4o.print("-\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                     }
@@ -12968,7 +12842,7 @@
                 
             }
             
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
         
                 {
@@ -12982,7 +12856,7 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -13000,7 +12874,7 @@
                 
             }
             
-            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
             {
         
                 {
@@ -13014,7 +12888,7 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::dt_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -13027,7 +12901,7 @@
                         
                     }
                     
-                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -13045,7 +12919,7 @@
                 
             }
             
-            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
             {
         
                 {
@@ -13059,7 +12933,7 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -13072,7 +12946,7 @@
                         
                     }
                     
-                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
@@ -13090,7 +12964,7 @@
                 
             }
             
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
         
                 {
@@ -13104,7 +12978,7 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
@@ -13160,11 +13034,13 @@
                     {
                 
                         symbol_c * return_type_symbol = last_type_symbol;
-                        s4o.print("(");
+                        s4o.indent_right();
+                        s4o.print("(\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print("/");
+                        s4o.print("/\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                     }
@@ -13174,7 +13050,7 @@
                 
             }
             
-            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::time_type_name, last_type_symbol))
             {
         
                 {
@@ -13244,11 +13120,13 @@
                     {
                 
                         symbol_c * return_type_symbol = last_type_symbol;
-                        s4o.print("(");
+                        s4o.indent_right();
+                        s4o.print("(\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print("%");
+                        s4o.print("%\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                     }
@@ -13585,11 +13463,12 @@
                     {
                 
                         symbol_c * return_type_symbol = last_type_symbol;
+                        s4o.indent_right();
                         s4o.print("(");
                         if (search_expression_type->is_bool_type(last_type_symbol))
-                          s4o.print("(");
+                          s4o.print("(\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print("&");
+                        s4o.print("&\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -13610,7 +13489,7 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print("&");
+                                s4o.print("&\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
@@ -13622,6 +13501,7 @@
                           s4o.print(")");
                         }
                         s4o.print("");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -13670,11 +13550,12 @@
                     {
                 
                         symbol_c * return_type_symbol = last_type_symbol;
+                        s4o.indent_right();
                         s4o.print("(");
                         if (search_expression_type->is_bool_type(last_type_symbol))
-                          s4o.print("(");
+                          s4o.print("(\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print("|");
+                        s4o.print("|\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -13695,7 +13576,7 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print("|");
+                                s4o.print("|\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
@@ -13707,6 +13588,7 @@
                           s4o.print(")");
                         }
                         s4o.print("");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -13755,11 +13637,12 @@
                     {
                 
                         symbol_c * return_type_symbol = last_type_symbol;
+                        s4o.indent_right();
                         s4o.print("(");
                         if (search_expression_type->is_bool_type(last_type_symbol))
-                          s4o.print("(");
+                          s4o.print("(\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print("^");
+                        s4o.print("^\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -13780,7 +13663,7 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print("^");
+                                s4o.print("^\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
@@ -13792,6 +13675,7 @@
                           s4o.print(")");
                         }
                         s4o.print("");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -13852,7 +13736,7 @@
             symbol_c *G_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::bool_type_name, last_type_symbol))
             {
         
                 {
@@ -13941,13 +13825,14 @@
                     {
                 
                         symbol_c * return_type_symbol = last_type_symbol;
+                        s4o.indent_right();
                         s4o.print("__max_");
                         return_type_symbol->accept(*this);
                         s4o.print("(");
                         s4o.print_integer(nb_param);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -13968,13 +13853,14 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
                             
                         }while(param_value != NULL);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -14023,13 +13909,14 @@
                     {
                 
                         symbol_c * return_type_symbol = last_type_symbol;
+                        s4o.indent_right();
                         s4o.print("__min_");
                         return_type_symbol->accept(*this);
                         s4o.print("(");
                         s4o.print_integer(nb_param);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -14050,13 +13937,14 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
                             
                         }while(param_value != NULL);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -14194,15 +14082,16 @@
                             {
                         
                                 symbol_c * return_type_symbol = last_type_symbol;
+                                s4o.indent_right();
                                 s4o.print("__mux_");
                                 return_type_symbol->accept(*this);
                                 s4o.print("(");
                                 s4o.print_integer(nb_param);
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 K_param_value->accept(*this);
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 IN0_param_value->accept(*this);
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 IN1_param_value->accept(*this);
                                 
                                 int base_num = 2;
@@ -14223,13 +14112,14 @@
                                         last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                                     
                                         /*Function specific CODE */
-                                        s4o.print(",");
+                                        s4o.print(",\n" + s4o.indent_spaces);
                                         param_value->accept(*this);
                                         
                                     }
                                     
                                 }while(param_value != NULL);
                                 s4o.print(")");
+                                s4o.indent_left();
                                 return NULL;
                                 
                                 
@@ -14283,13 +14173,14 @@
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+                        s4o.indent_right();
                         s4o.print("__gt_");
                         return_type_symbol->accept(*this);
                         s4o.print("(");
                         s4o.print_integer(nb_param);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -14310,13 +14201,14 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
                             
                         }while(param_value != NULL);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -14365,13 +14257,14 @@
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+                        s4o.indent_right();
                         s4o.print("__ge_");
                         return_type_symbol->accept(*this);
                         s4o.print("(");
                         s4o.print_integer(nb_param);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -14392,13 +14285,14 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
                             
                         }while(param_value != NULL);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -14447,13 +14341,14 @@
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+                        s4o.indent_right();
                         s4o.print("__eq_");
                         return_type_symbol->accept(*this);
                         s4o.print("(");
                         s4o.print_integer(nb_param);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -14474,13 +14369,14 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
                             
                         }while(param_value != NULL);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -14529,13 +14425,14 @@
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+                        s4o.indent_right();
                         s4o.print("__lt_");
                         return_type_symbol->accept(*this);
                         s4o.print("(");
                         s4o.print_integer(nb_param);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -14556,13 +14453,14 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
                             
                         }while(param_value != NULL);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -14611,13 +14509,14 @@
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+                        s4o.indent_right();
                         s4o.print("__le_");
                         return_type_symbol->accept(*this);
                         s4o.print("(");
                         s4o.print_integer(nb_param);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -14638,13 +14537,14 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
                             
                         }while(param_value != NULL);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -14693,13 +14593,14 @@
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
+                        s4o.indent_right();
                         s4o.print("__ne_");
                         return_type_symbol->accept(*this);
                         s4o.print("(");
                         s4o.print_integer(nb_param);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -14720,13 +14621,14 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
                             
                         }while(param_value != NULL);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -14757,7 +14659,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
@@ -14788,7 +14690,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 {
@@ -14840,7 +14742,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 {
@@ -14892,7 +14794,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 {
@@ -14965,7 +14867,7 @@
             symbol_c *IN1_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::date_type_name, last_type_symbol))
             {
         
                 {
@@ -14979,7 +14881,7 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::tod_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
@@ -14997,7 +14899,7 @@
                 
             }
             
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 {
@@ -15011,15 +14913,16 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
+                        s4o.indent_right();
                         s4o.print("__concat(");
                         s4o.print_integer(nb_param);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN1_param_value->accept(*this);
-                        s4o.print(",");
+                        s4o.print(",\n" + s4o.indent_spaces);
                         IN2_param_value->accept(*this);
                         
                         int base_num = 3;
@@ -15040,13 +14943,14 @@
                                 last_type_symbol = last_type_symbol && search_expression_type->is_same_type(current_type_symbol, last_type_symbol) ? search_expression_type->common_type(current_type_symbol, last_type_symbol) : current_type_symbol ;
                             
                                 /*Function specific CODE */
-                                s4o.print(",");
+                                s4o.print(",\n" + s4o.indent_spaces);
                                 param_value->accept(*this);
                                 
                             }
                             
                         }while(param_value != NULL);
                         s4o.print(")");
+                        s4o.indent_left();
                         return NULL;
                         
                         
@@ -15077,7 +14981,7 @@
             symbol_c *IN1_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 {
@@ -15091,7 +14995,7 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
                     {
                 
                         {
@@ -15150,7 +15054,7 @@
             symbol_c *IN_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 {
@@ -15223,7 +15127,7 @@
             symbol_c *IN1_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 {
@@ -15237,7 +15141,7 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
                     {
                 
                         {
@@ -15317,7 +15221,7 @@
             symbol_c *IN1_type_symbol = param_data_type;
             last_type_symbol = param_data_type;
             
-            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+            if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
             {
         
                 {
@@ -15331,7 +15235,7 @@
                     symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
                     last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
                     
-                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
+                    if(search_expression_type->is_same_type(&search_constant_type_c::string_type_name, last_type_symbol))
                     {
                 
                         symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;